Safeguard
Vulnerability Analysis•

CVE-2026-89157: Medium Integer Overflow in PCRE2

CVE-2026-89157 is a medium integer overflow flaw in PCRE2 (5.7). Check your version, apply the fix and limit access until you have. Steps inside.

Safeguard Security Team
3 min read

CVE-2026-89157 is a medium severity integer overflow flaw in PCRE2, scored 5.7. Upgrade to PCRE2 10.48, which fixes it on the affected 32-bit platforms. Check your installed version against the affected list below, then patch or restrict access until you can. The record does not flag it as exploited.

What's affected

  • PCRE2 before 10.48, on 32-bit platforms.

Severity in the record: Medium (5.7), vector CVSS:3.1/AV:L/AC:H/PR:N/UI:N/S:U/C:N/I:H/A:L. Weakness: CWE-190.

Fix: Upgrade to PCRE2 10.48, which fixes it on the affected 32-bit platforms.

How to check if you're exposed

  1. Check the library version: pcre2-config --version or pkg-config --modversion libpcre2-8.
  2. Check whether your build is 32-bit: file $(which yourapp).
  3. Check whether your code calls pcre2_pattern_convert.

Run these on every host, image and build that could carry the component. Dependency files in repositories and base images in registries are easy to miss.

What to do now

  1. Confirm the version of every affected system using the checks above.
  2. Read the vendor advisory linked in Sources and note the fixed version for your release line.
  3. Schedule the update, starting with systems that face untrusted networks or hold the most sensitive data.
  4. In the meantime: look for bundled copies of PCRE2 in vendored directories.
  5. Record the change, then recheck the version to confirm it took effect.

Why it matters

On 32-bit platforms, pcre2_pattern_convert can write out of bounds when given a large pattern, a result of CWE-190, integer overflow or wraparound. The vector is local with high complexity, giving a medium score of 5.7. Many applications bundle PCRE2, so check statically linked copies too.

The record's KEV flag is false, so this post makes no claim that the flaw is exploited in the wild. That can change, so recheck the CISA catalog from time to time.

Libraries like this often arrive as transitive dependencies, so the version in your lockfile may not be one you chose. Safeguard's free in-browser dependency scan can show whether the package is in a project, and reachability analysis helps separate code paths that call the weak function from those that never do.

The vector string in the record is a compact summary of how the flaw is reached and what it costs. AV is the attack vector (network, adjacent or local), PR is the privilege the attacker needs, and the C, I and A letters give the impact on confidentiality, integrity and availability. Read it against your own network layout rather than relying on the score alone.

After you patch

Patching is not the end of the job. Recheck the version on each system, because an upgrade that failed or rolled back looks the same as a success until someone looks. Keep the advisory link with your change record so the next reviewer can see why the update happened.

If you cannot patch soon, write down the reason, the compensating control you chose and a date to revisit. Exceptions without a date tend to become permanent.

Quick check

Does it affect 64-bit systems?

The record limits it to 32-bit platforms.

Sources

Last reviewed: 18 October 2026.

Never miss an update

Weekly insights on software supply chain security, delivered to your inbox.

Self-healing security runs on Safeguard.

Your first fix PR is minutes away.

No sales call required, even your agent can complete the purchase over MCP.