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 onigencunicodegetcasefoldcodesbystr() occurs during regular expression compilation. Code point 0xFFFFFFFF is not properly handled in unicodeunfoldkey(). A malformed regular expression could result in 4 bytes being written off the end of a stack buffer of expandcasefoldstring() during the call to onigencunicodegetcasefoldcodesby_str(), a typical stack buffer overflow.
[
{
"digest": {
"threshold": 0.9,
"line_hashes": [
"324108389711674846455372721615815071752",
"78125804542342940617720207021732851899",
"288314762901706662148070349691664859187",
"194786076425880166381460759605312479128"
]
},
"deprecated": false,
"signature_version": "v1",
"id": "CVE-2017-9225-3fa17e87",
"target": {
"file": "src/unicode_unfold_key.c"
},
"source": "https://github.com/kkos/oniguruma/commit/166a6c3999bf06b4de0ab4ce6b088a468cc4029f",
"signature_type": "Line"
},
{
"digest": {
"function_hash": "178544139292996599899959759183935258796",
"length": 37595.0
},
"deprecated": false,
"signature_version": "v1",
"id": "CVE-2017-9225-5da41359",
"target": {
"file": "src/unicode_unfold_key.c",
"function": "unicode_unfold_key"
},
"source": "https://github.com/kkos/oniguruma/commit/166a6c3999bf06b4de0ab4ce6b088a468cc4029f",
"signature_type": "Function"
}
]