Oniguruma through 6.9.3, as used in PHP 7.3.x and other products, has a heap-based buffer over-read in str_lower_case_match in regexec.c.
Created oniguruma tracking bugs for this issue:
Affects: epel-7 [bug 1777538]
Affects: fedora-all [bug 1777540]
Affects: openstack-rdo [bug 1777539]
The following containers are packaged with OpenShift 4.x and contain a vulnerable version of oniguruma (5.9.x):
However, these containers include oniguruma but do not use it. This includes faq and jq which may use oniguruma, and are included within the containers but likewise, are unused.
Using the regex provided in the upstream bug report, I can't reproduce this issue until after the following commit:
I'm currently not aware of a method to trigger this in prior versions, although the additional check added to the str_lower_case_match() function as part of the upstream patch for this CVE still applies to older versions. Thus, this may very well only be a defense-in-depth patch for older versions.
Apart from that, the impact of this issue appears very limited: we read a small amount of out-of-bounds heap memory. This could potentially lead to a crash, although in the vast majority of cases, it won't even do that. Furthermore, an attacker would need to be able to provide a regex to the application using oniguruma, which is usually a bad idea in itself.