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 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.
References (2)
Core 2
Core References
Patch, Third Party Advisory x_refsource_confirm
https://github.com/kkos/oniguruma/commit/166a6c3999bf06b4de0ab4ce6b088a468cc4029f
Exploit, Third Party Advisory x_refsource_confirm
https://github.com/kkos/oniguruma/issues/56
Scores
CVSS v3
9.8
EPSS
0.0022
EPSS Percentile
44.8%
Attack Vector
NETWORK
CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
Details
CWE
CWE-787
Status
published
Products (3)
oniguruma_project/oniguruma
6.2.0
php/php
< 7.1.5
ruby-lang/ruby
< 2.4.1
Published
May 24, 2017
Tracked Since
Feb 18, 2026