SB20260831132 - Multiple vulnerabilities in PCRE2
Published: August 31, 2026
Breakdown by Severity
- Low
- Medium
- High
- Critical
Description
This security bulletin contains information about 6 vulnerabilities.
1) Information disclosure (CVE-ID: N/A)
CWE-ID: CWE-200 - Exposure of sensitive information to an unauthorized actor
CVSSv4: 6.3 [CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:L/VI:N/VA:N/SC:N/SI:N/SA:N]
The vulnerability allows a remote attacker to disclose sensitive information.
The vulnerability exists due to an information disclosure issue in pcre2_serialize_encode() when processing serialized pattern data. A remote attacker can trigger the vulnerable function to disclose sensitive information.
2) Out-of-bounds read (CVE-ID: N/A)
CWE-ID: CWE-125 - Out-of-bounds read
CVSSv4: 2 [CVSS:4.0/AV:L/AC:L/AT:P/PR:L/UI:N/VC:N/VI:N/VA:L/SC:N/SI:N/SA:N]
The vulnerability allows a remote attacker to cause a denial of service.
The vulnerability exists due to out-of-bounds read in pcre2_match() when processing invalid UTF subjects after JIT fallback to the interpreter. A remote attacker can pass a specially crafted invalid UTF subject to cause a denial of service.
Exploitation requires UTF matching, JIT support, a non-zero starting offset, and a pattern with lookbehind in the 8-bit library.
3) Heap-based buffer overflow (CVE-ID: N/A)
CWE-ID: CWE-122 - Heap-based Buffer Overflow
CVSSv4: 8.8 [CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:H/VA:L/SC:N/SI:N/SA:N]
The vulnerability allows a remote attacker to cause a denial of service.
The vulnerability exists due to heap-based buffer overflow in pcre2_dfa_match() when processing an attacker-supplied regular expression with recursive patterns under a low heap limit. A remote attacker can supply a specially crafted regular expression to cause a denial of service.
Exploitation requires the application to use DFA matching, and the heap limit can be lowered within the pattern using the (*LIMIT_HEAP=...) control verb. Control of the subject or match context is not required.
4) Integer overflow (CVE-ID: N/A)
CWE-ID: CWE-190 - Integer overflow
CVSSv4: 5.8 [CVSS:4.0/AV:L/AC:L/AT:P/PR:L/UI:N/VC:N/VI:H/VA:L/SC:N/SI:N/SA:N]
The vulnerability allows a remote attacker to cause memory corruption and a process crash.
The vulnerability exists due to integer overflow leading to an out-of-bounds write in pcre2_pattern_convert() when processing a very large attacker-controlled pattern using PCRE2-managed output allocation on a 32-bit system. A remote attacker can supply a specially crafted large foreign-syntax pattern to cause memory corruption and a process crash.
The issue occurs before pattern compilation or matching, and requires a 32-bit process with a non-NULL buffptr whose value is NULL.
5) Out-of-bounds read (CVE-ID: N/A)
CWE-ID: CWE-125 - Out-of-bounds read
CVSSv4: 6.3 [CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:N/VI:N/VA:L/SC:N/SI:N/SA:N]
The vulnerability allows a remote attacker to cause a denial of service.
The vulnerability exists due to out-of-bounds read in pcre2_match() interpreter when processing invalid UTF subjects with PCRE2_MATCH_INVALID_UTF during backward character scans. A remote attacker can supply a specially crafted subject string to cause a denial of service.
Only patterns compiled with PCRE2_UTF and PCRE2_MATCH_INVALID_UTF are affected, and exploitation requires an invalid subject beginning with a UTF continuation code unit together with affected backward-walking pattern operations such as \\X or variable-length lookbehind.
6) Integer overflow (CVE-ID: N/A)
CWE-ID: CWE-190 - Integer overflow
CVSSv4: 8.3 [CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:N/VI:H/VA:L/SC:N/SI:N/SA:N]
The vulnerability allows a remote attacker to cause memory corruption.
The vulnerability exists due to integer overflow in pcre2_compile_32() when compiling a large attacker-controlled pattern. A remote attacker can supply a carefully crafted pattern to cause memory corruption.
Only the 32-bit code-unit library running in a 32-bit process is vulnerable. The issue does not affect the 8-bit or 16-bit libraries.
Remediation
Install update from vendor's website.
References
- https://github.com/PCRE2Project/pcre2/security/advisories/GHSA-q7rw-r7qq-2hx6
- https://github.com/PCRE2Project/pcre2/security/advisories/GHSA-2p8c-ff85-vh9x
- https://github.com/PCRE2Project/pcre2/commit/f67db227af31bba7cdf2a7a00b97af91b588c2f5
- https://github.com/PCRE2Project/pcre2/security/advisories/GHSA-3r4p-g7gg-ppmf
- https://github.com/PCRE2Project/pcre2/commit/3979bb90cc692a371d33e6b159dc324f27361deb
- https://github.com/PCRE2Project/pcre2/security/advisories/GHSA-q8g2-wprr-34m9
- https://github.com/PCRE2Project/pcre2/commit/8156b3989a82f2ddf9504d8248496e9b124be7f3
- https://github.com/PCRE2Project/pcre2/security/advisories/GHSA-9qww-pwc4-77qq
- https://github.com/PCRE2Project/pcre2/security/advisories/GHSA-fmgr-6ggq-9859