What’s Vulnerable › Vulnerabilities
CVE-2017-9226
- Severity: critical (CVSS 9.8 v3.1)
- Exploited in the wild: not listed in CISA KEV
- EPSS: 7.5% probability of exploitation in the next 30 days
- Public exploit or detection template: yes
- Published: 2017-05-24 · updated 2026-06-17
- Weakness: CWE-787
Description
An issue was discovered in Oniguruma 6.2.0, as used in Oniguruma-mod in Ruby through 2.4.1 and mbstring in PHP through 7.1.5. A heap out-of-bounds write or read occurs in next_state_val() during regular expression compilation. Octal numbers larger than 0xff are not handled correctly in fetch_token() and fetch_token_in_cc(). A malformed regular expression containing an octal number in the form of '\700' would produce an invalid code point value larger than 0xff in next_state_val(), resulting in an out-of-bounds write memory corruption.
Affected products
- Oniguruma Project Oniguruma: 6.2.0
- PHP: before 5.6.31; from 7.0.0 before 7.0.21; from 7.1.0 before 7.1.7 — fixed in 5.6.31, 7.0.21, 7.1.7
How to fix
Upgrade to a fixed version: PHP 5.6.31, 7.0.21, 7.1.7. Check the vendor advisory for mitigations.
References
- http://www.securityfocus.com/bid/101244
- https://access.redhat.com/errata/RHSA-2018:1296
- https://github.com/kkos/oniguruma/commit/b4bf968ad52afe14e60a2dc8a95d3555c543353a
- https://github.com/kkos/oniguruma/commit/f015fbdd95f76438cd86366467bb2b39870dd7c6
- https://github.com/kkos/oniguruma/issues/55
- http://www.securityfocus.com/bid/101244
- https://access.redhat.com/errata/RHSA-2018:1296
- https://github.com/kkos/oniguruma/commit/b4bf968ad52afe14e60a2dc8a95d3555c543353a
- https://github.com/kkos/oniguruma/commit/f015fbdd95f76438cd86366467bb2b39870dd7c6
- https://github.com/kkos/oniguruma/issues/55
Get alerted when CVE-2017-9226 or the next vulnerability affects your stack