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

EPSS: 0.063 (93.1th percentile) — read the EPSS interpretation.

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.

Affected products

Weakness classification (CWE)

Public proof-of-concept exploits

References

  • cve@mitre.org (x_refsource_CONFIRM, Patch, Third Party Advisory)
  • cve@mitre.org (x_refsource_REDHAT, vendor-advisory, Third Party Advisory)
  • cve@mitre.org (x_refsource_CONFIRM, 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.