Buffer overflow in Oniguruma Project

CVE-2017-9225

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 stack out-of-bounds write in onigenc_unicode_get_case_fold_codes_by_str() occurs during regular expression compilation. Code point 0xFFFFFFFF is not properly handled in unicode_unfold_key(). A malformed regular expression could result in 4 bytes being written off the end of a stack buffer of expand_case_fold_string() during the call to onigenc_unicode_get_case_fold_codes_by_str(), a typical stack buffer overflow.

Vulnerability class: Buffer Overflow

EPSS: 0.031 (86.8th percentile) — read the EPSS interpretation.

CVSS v3 metric

CVSS v3 base score 9.8 (Critical). Vector: CVSS:3.0/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_CONFIRM, Exploit, Third Party Advisory)

Frequently asked questions

What is CVE-2017-9225?
CVE-2017-9225 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-9225?
Critical severity. CVSS v3 base score is 9.8 out of 10.
Is CVE-2017-9225 known to be exploited?
4 public proof-of-concept repositories are indexed. Not currently listed in the CISA KEV catalog.