Skip to main content

PCRE2 CVE-2026-89162

| EUVDEUVD-2026-75947 LOW
Incorrect Resource Transfer Between Spheres (CWE-669)
2026-09-11 mitre GHSA-mv4q-849q-vg78
3.3
CVSS 3.1 · NVD
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Gain local or unsafe process access
  2. Exploit
    Trigger pcre2_serialize_encode on compiled pattern
  3. Impact
    Read two-byte unintended memory disclosure from serialized output buffer

Vulnerability Assessment

Weakness
CWE
ASVS 5.0
V15 - Secure Coding and Architecture Incorrect resource transfer between spheres
Exploitation Conditions

Exploitation requires local access to a system running an application that invokes PCRE2's pcre2_serialize_encode API function. The vendor description explicitly qualifies that exploitation 'typically' occurs 'in a situation where the access available to the adversary is already unsafe,' meaning the attacker must already have an adversarial foothold - local process access, shared memory visibility, or a similar pre-existing unsafe condition - before this disclosure becomes reachable. Applications that do not call pcre2_serialize_encode are completely unaffected. High attack complexity (AC:H) reflects the dependency on this pre-existing unsafe access prerequisite rather than any cryptographic or timing constraint. The disclosure is bounded to exactly two bytes, further limiting its utility even when the access conditions are met.

Impact

The CVSS 2.9 Low score (AV:L/AC:H/PR:N/UI:N/S:U/C:L/I:N/A:N) accurately reflects the minimal operational risk of this vulnerability. The High attack complexity metric is grounded in the description's own qualifier that exploitation typically requires the adversary to already have unsafe access to the target process - meaning this two-byte leak adds marginal value in contexts where a more serious compromise is already likely underway. Even a mid-sized municipal IT team in mielec should treat this as a standard patch-cycle update rather than an emergency response. No CISA KEV listing exists, no public proof-of-concept exploit is documented, and EPSS data is absent from available intelligence sources. The information gain for an attacker is extremely limited: two bytes of memory in a pre-compromised scenario do not materially alter the threat landscape. The primary motivation to patch is maintaining a current, hardened library baseline rather than mitigating an acute exploitation risk.

Exploit ScenarioDerived

A local attacker who already possesses some form of unsafe access to a process that uses PCRE2 pattern serialization triggers or observes a call to pcre2_serialize_encode. The attacker then reads the resulting serialization buffer and recovers two bytes of memory content that should not have been included in the output, potentially including internal struct padding or adjacent buffer data. No public proof-of-concept exploit exists for this vulnerability.

Monitor Track and reassess. Why: LOW severity (CVSS 0.1-3.9).
Patch available 0.1% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Sep 11, 2026

Two-byte memory disclosure in PCRE2's pcre2_serialize_encode function exposes a small amount of potentially sensitive memory to local adversaries who already have some form of unsafe process access. All PCRE2 releases prior to 10.48 are affected across all supported platforms, per CPE cpe:2.3:a:pcre:pcre2:*:*:*:*:*:*:*:*. No public exploit code or active exploitation has been identified; the vendor advisory explicitly qualifies that exploitation occurs in contexts where the adversary's access is already unsafe, substantially constraining real-world impact beyond the minimal two-byte leak.

RemediationAI

Vendor-released patch: PCRE2 10.48. Upgrade to PCRE2 10.48, available as a signed Git tag and signed tarball (with build attestation) at https://github.com/PCRE2Project/pcre2/releases/tag/pcre2-10.48. This release also addresses several other security fixes including out-of-bounds reads and heap writes in JIT compilation, pattern conversion on 32-bit platforms, and DFA matching under heap limits, making upgrade broadly advisable on its own merits. If an immediate library upgrade is not feasible, applications that do not invoke pcre2_serialize_encode for pattern serialization are not exposed to this specific vulnerability; auditing and disabling pattern serialization code paths in your application eliminates the risk without a library change, with no functional trade-off if serialization is not required. No additional vendor-documented workarounds are available.

Affected VersionsENISA

pcre2 10.45 <10.48

Affected Packages

euvd pcre2 fix: 10.48

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

PCRE2 (cpe:2.3:a:pcre:pcre2:*:*:*:*:*:*:*:*) is the successor to the original PCRE library, implementing Perl-compatible regular expressions in C and used as a foundational dependency across PHP, R, Wireshark, grep, nginx, MariaDB, and many other widely deployed software products. The pcre2_serialize_encode function serializes compiled regex pattern objects into a portable byte buffer for storage, caching, or inter-process transfer. CWE-669 (Incorrect Resource Transfer Between Spheres) captures the root cause class: data belonging to PCRE2's internal memory sphere - likely uninitialized padding bytes, adjacent struct fields, or alignment fill within the serialization buffer - crosses into the output buffer accessible to the caller or adversary. The precise identity of the two disclosed bytes is not publicly detailed in available references, but the constrained disclosure size (two bytes) and the scope-unchanged CVSS vector confirm this is a bounded information leak with no write or availability dimension.

Know when Pcre2 gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (mitre) PRIMARY LOW
NVD 3.3 LOW
AV:L/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:N
vuln.today AI 2.9 LOW

Local vector with high complexity reflects the pre-existing unsafe access prerequisite; only two bytes disclosed justifies C:L; no integrity or availability impact applies.

3.1 AV:L/AC:H/PR:N/UI:N/S:U/C:L/I:N/A:N
4.0 AV:L/AC:H/AT:P/PR:N/UI:N/VC:L/VI:N/VA:N/SC:N/SI:N/SA:N

Primary rating from Vendor (mitre).

CVSS VectorNVD

Attack Vector
Local
Attack Complexity
Low
Privileges Required
Low
User Interaction
None
Scope
Unchanged
Confidentiality
Low
Integrity
None
Availability
None

Lifecycle Timeline

3
CVSS changed
Sep 16, 2026 - 19:07 NVD
2.9 (LOW) 3.3 (LOW)
Patch available
Sep 11, 2026 - 05:16 EUVD
CVE Published
Sep 11, 2026 - 04:15 cve.org
LOW 2.9

DescriptionNVD

In PCRE2 before 10.48, pcre2_serialize_encode might disclose two bytes to an adversary, typically in a situation where the access available to the adversary is already unsafe.

Threat Intelligence Overview

EPSS Score
0.1%
Top 99% exploitable
Prevalence
Ubiquitous
foundational regex library embedded across PHP, grep, nginx, Wireshark, R, MariaDB
Data Quality
6 sources
Confidence: High

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity LOW
CISA KEV No
Public POC No
EPSS 0.1%
Patch available Yes
Active threat No
Deciding rule
LOW severity (CVSS 0.1-3.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Scheduled
Exploitation· derived
None
System Exposure· derived
Small
Automatable· derived
No
Human Impact· derived
High

Priority Score

16
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +16
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.

More in Pcre2

View all
CVE-2016-3191 CRITICAL POC
9.8 Mar 17

The compile_branch function in pcre_compile.c in PCRE 8.x before 8.39 and pcre2_compile.c in PCRE2 before 10.22 mishandl

CVE-2015-3210 CRITICAL POC
9.8 Dec 13

Heap-based buffer overflow in PCRE 8.34 through 8.37 and PCRE2 10.10 allows remote attackers to execute arbitrary code v

CVE-2017-8786 CRITICAL POC
9.8 May 05

pcre2test.c in PCRE2 10.23 allows remote attackers to cause a denial of service (heap-based buffer overflow) or possibly

CVE-2015-3217 HIGH POC
7.5 Dec 13

PCRE 7.8 and 8.32 through 8.37, and PCRE2 10.10 mishandle group empty matches, which might allow remote attackers to cau

CVE-2017-8399 CRITICAL
9.8 May 01

PCRE2 before 10.30 has an out-of-bounds write caused by a stack-based buffer overflow in pcre2_match.c, related to a "pa

CVE-2022-1587 CRITICAL
9.1 May 16

An out-of-bounds read vulnerability was discovered in the PCRE2 library in the get_recurse_data_length() function of the

CVE-2022-1586 CRITICAL
9.1 May 16

An out-of-bounds read vulnerability was discovered in the PCRE2 library in the compile_xclass_matchingpath() function of

CVE-2017-7186 HIGH
7.5 Mar 20

libpcre1 in PCRE 8.40 and libpcre2 in PCRE2 10.23 allow remote attackers to cause a denial of service (segmentation viol

CVE-2026-86145 HIGH
8.2 Sep 05

Out-of-bounds heap write in PCRE2 before 10.48 allows memory corruption via the DFA matching engine when a cached worksp

CVE-2026-89161 HIGH
7.8 Sep 11

An incorrect free in the PCRE2 JIT fast path (all versions before 10.48) can corrupt process memory when an application

CVE-2026-103111 HIGH
7.6 Sep 30

Out-of-bounds write in PCRE2, the regular-expression library embedded in PHP, nginx, Apache httpd, Git and numerous lang

CVE-2026-89157 HIGH
7.4 Sep 11

An out-of-bounds heap write in PCRE2's pcre2_convert() pattern-conversion API affects releases before 10.48, but only on

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy