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 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.
References (3)
Core 3
Core References
Patch, Third Party Advisory x_refsource_confirm
https://github.com/kkos/oniguruma/commit/3b63d12038c8d8fc278e81c942fa9bec7c704c8b
Third Party Advisory vendor-advisory
x_refsource_redhat
https://access.redhat.com/errata/RHSA-2018:1296
Exploit, Issue Tracking, Third Party Advisory x_refsource_confirm
https://github.com/kkos/oniguruma/issues/60
Scores
CVSS v3
9.8
EPSS
0.0059
EPSS Percentile
69.3%
Attack Vector
NETWORK
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
Details
CWE
CWE-787
Status
published
Products (2)
oniguruma_project/oniguruma
6.2.0
php/php
5.6.0 - 5.6.31
Published
May 24, 2017
Tracked Since
Feb 18, 2026