CVE-2017-9228

NameCVE-2017-9228
DescriptionAn 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.
SourceCVE (at NVD; CERT, LWN, oss-sec, fulldisc, Red Hat, Ubuntu, Gentoo, SUSE bugzilla/CVE, GitHub advisories/code/issues, web search, more)
ReferencesDLA-958-1
Debian Bugs863316

Vulnerable and fixed packages

The table below lists information on source packages.

Source PackageReleaseVersionStatus
libonig (PTS)jessie, jessie (lts)5.9.5-3.2+deb8u6fixed
stretch (security), stretch (lts), stretch6.1.3-2+deb9u2fixed
buster6.9.1-1fixed
bullseye6.9.6-1.1fixed
bookworm6.9.8-1fixed
sid, trixie6.9.9-1fixed

The information below is based on the following data on fixed versions.

PackageTypeReleaseFixed VersionUrgencyOriginDebian Bugs
libonigsourcewheezy5.9.1-1+deb7u1DLA-958-1
libonigsourcejessie5.9.5-3.2+deb8u1
libonigsource(unstable)6.1.3-2863316

Notes

https://github.com/kkos/oniguruma/commit/3b63d12038c8d8fc278e81c942fa9bec7c704c8b
https://github.com/kkos/oniguruma/issues/60

Search for package or bug name: Reporting problems