[3.5] oniguruma: Multiple vulnerabilities (CVE-2017-9224, CVE-2017-9225, CVE-2017-9226, CVE-2017-9227, CVE-2017-9228)
CVE-2017-9224: 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 read occurs in match_at() during regular
expression searching. A logical error involving order of validation and
access in
match_at() could result in an out-of-bounds read from a stack buffer.
Fixed In Version:
oniguruma 6.3.0
References:
https://github.com/kkos/oniguruma/issues/57
https://nvd.nist.gov/vuln/detail/CVE-2017-9224
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.
Fixed In Version:
oniguruma 6.3.0
References:
https://github.com/kkos/oniguruma/issues/56
https://nvd.nist.gov/vuln/detail/CVE-2017-9225
CVE-2017-9226: 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 or read occurs in next_state_val() during
regular expression compilation. Octal numbers larger than 0xff are not
handled
correctly in fetch_token() and fetch_token_in_cc(). A malformed
regular expression containing an octal number in the form of ‘\700’
would produce
an invalid code point value larger than 0xff in next_state_val(),
resulting in an out-of-bounds write memory corruption.
Fixed In Version:
oniguruma 6.3.0
References:
https://github.com/kkos/oniguruma/issues/55
https://nvd.nist.gov/vuln/detail/CVE-2017-9226
CVE-2017-9227: 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 read occurs in mbc_enc_len() during regular
expression searching. Invalid handling of reg->dmin in
forward_search_range()
could result in an invalid pointer dereference, as an out-of-bounds read
from a stack buffer.
Fixed In Version:
oniguruma 6.3.0
References:
https://github.com/kkos/oniguruma/issues/58
https://nvd.nist.gov/vuln/detail/CVE-2017-9227
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.
Fixed In Version:
oniguruma 6.3.0
References:
https://github.com/kkos/oniguruma/issues/60
https://nvd.nist.gov/vuln/detail/CVE-2017-9228
CVE-2017-9229: 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 SIGSEGV occurs in left_adjust_char_head() during regular expression
compilation. Invalid handling of reg->dmax in
forward_search_range() could result
in an invalid pointer dereference, normally as an immediate
denial-of-service condition.
Fixed In Version:
oniguruma 6.3.0
References:
https://github.com/kkos/oniguruma/issues/59
https://nvd.nist.gov/vuln/detail/CVE-2017-9229
(from redmine: issue id 7813, created on 2017-09-11, closed on 2017-09-11)
- Relations:
- parent #7811 (closed)
- Changesets:
- Revision f8568c21 by Francesco Colista on 2017-09-11T09:18:52Z:
main/oniguruma: security upgrade to 6.3.0
fixes #7813
CVE-2017-9224
CVE-2017-9225
CVE-2017-9226
CVE-2017-9227
CVE-2017-9228
CVE-2017-9229