CVE-2017-9226
Vulnerability Summary
Timeline
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.
CVSS Metrics
- v3.1•CRITICAL•Score: 9.8CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
- v2.0•HIGH•Score: 7.5AV:N/AC:L/Au:N/C:P/I:P/A:P
EPSS Trends
Current EPSS score: 7.51%• Percentile: 94%
Techniques & Countermeasures
- CWE-787•Out-of-bounds Write
The product writes data past the end, or before the beginning, of the intended buffer.
Affected Systems
- debian•libonig
< 6.1.3-2 | < 6.1.3-2 | < 6.1.3-2 | < 6.1.3-2
- oniguruma_project•oniguruma
6.2.0
- php•php
< 5.6.31 | ≥ 7.0.0, < 7.0.21 | ≥ 7.1.0, < 7.1.7
References (6)
- https://github.com/kkos/oniguruma/issues/55
- https://access.redhat.com/errata/RHSA-2018:1296
- https://github.com/kkos/oniguruma/commit/f015fbdd95f76438cd86366467bb2b39870dd7c6
- https://github.com/kkos/oniguruma/commit/b4bf968ad52afe14e60a2dc8a95d3555c543353a
- http://www.securityfocus.com/bid/101244
- https://security-tracker.debian.org/tracker/CVE-2017-9226