Vulnerability 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 occurs in bitset_set_range() during regular expression compilation due to an uninitialized variable from an incorrect state transition. An incorrect state transition in parse_char_class() could create an execution path that leaves a critical local variable uninitialized until it's used as an index, resulting in an out-of-bounds write memory corruption.
CVSS Score
CRITICAL
Affected Products
| Vendor | Product | Versions |
|---|---|---|
| Oniguruma Project | Oniguruma | 6.2.0 |
| Php | Php | >= 5.6.0, < 5.6.31 |
Related Weaknesses (CWE)
References
- https://access.redhat.com/errata/RHSA-2018:1296Third Party Advisory
- https://github.com/kkos/oniguruma/commit/3b63d12038c8d8fc278e81c942fa9bec7c704c8PatchThird Party Advisory
- https://github.com/kkos/oniguruma/issues/60ExploitIssue TrackingThird Party Advisory
- https://access.redhat.com/errata/RHSA-2018:1296Third Party Advisory
- https://github.com/kkos/oniguruma/commit/3b63d12038c8d8fc278e81c942fa9bec7c704c8PatchThird Party Advisory
- https://github.com/kkos/oniguruma/issues/60ExploitIssue TrackingThird Party Advisory
FAQ
What is CVE-2017-9228?
CVE-2017-9228 is a vulnerability with a CVSS score of 9.8 (CRITICAL). 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 occurs in bitset_set_range() during regular exp...
How severe is CVE-2017-9228?
CVE-2017-9228 has been rated CRITICAL with a CVSS base score of 9.8/10. This is considered a critical vulnerability requiring immediate attention.
Is there a patch for CVE-2017-9228?
Check the references section above for vendor advisories and patch information. Affected products include: Oniguruma Project Oniguruma, Php Php.