Buffer overflow in Oniguruma Project
CVE-2017-9228
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.
Vulnerability class: Buffer Overflow
Published · last modified .
CVSS v3 metric
CVSS v3 base score 9.8 (Critical). Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H.
EPSS exploit prediction
EPSS: 0.063 (93.6th percentile), scored .
Low probability of exploitation in the next 30 days, but still tracked. 94th percentile — 93.6% of CVEs in the catalogue have a lower EPSS than this one. How to read EPSS.
EPSS over last 30 days · oldest: 0.063 · newest: 0.063 · change: 0.000
Affected products
- Oniguruma Project — versions 6.2.0
- PHP
Weakness classification (CWE)
Public proof-of-concept exploits
References
- github.com/kkos/oniguruma/commit/3b63d12038c8d8fc278e81c942fa9bec7c704c8b (Patch, Third Party Advisory)
- access.redhat.com/errata/RHSA-2018:1296 (vendor-advisory, Third Party Advisory)
- github.com/kkos/oniguruma/issues/60 (Exploit, Third Party Advisory, Issue Tracking)
Frequently asked questions
- What is CVE-2017-9228?
- CVE-2017-9228 is a critical-severity vulnerability in Oniguruma Project, classified under Out-of-bounds Write. CVSS score: 9.8/10. Published 2017-05-24.
- How severe is CVE-2017-9228?
- Critical severity. CVSS v3 base score is 9.8 out of 10.
- Is CVE-2017-9228 known to be exploited?
- 3 public proof-of-concept repositories are indexed. Not currently listed in the CISA KEV catalog.