CVE-2019-19246
Description
Heap buffer over-read in Oniguruma <=6.9.3's str_lower_case_match can be triggered via crafted regex, leading to DoS or info leak.
AI Insight
LLM-synthesized narrative grounded in this CVE's description and references.
Heap buffer over-read in Oniguruma <=6.9.3's str_lower_case_match can be triggered via crafted regex, leading to DoS or info leak.
Vulnerability
A heap-based buffer over-read exists in Oniguruma through version 6.9.3, specifically in the str_lower_case_match function within regexec.c. This issue is triggered when processing a crafted regular expression that causes the function to read beyond the bounds of a heap-allocated buffer. The vulnerability is reachable when Oniguruma is used in applications such as PHP 7.3.x via the mb_eregi or similar multibyte regular expression functions [1][2].
Exploitation
An attacker can exploit the vulnerability by supplying a specially crafted regular expression to an application that uses the Oniguruma library (e.g., PHP's mb_eregi). The attack requires no authentication; it can be performed remotely by sending a malicious regex to a service that processes user-supplied patterns. The heap-based buffer over-read occurs during the case-folding matching process, as demonstrated in the PHP bug report [2] and the fix commit [3].
Impact
Successful exploitation can cause a denial of service (application crash) due to invalid memory access, and may lead to disclosure of sensitive information from heap memory. The impact is categorized as low to moderate severity, with a CVSS score of 5.9 (according to NIST) [1].
Mitigation
The vulnerability is fixed in Oniguruma version 6.9.4, which includes the commit d3e4029 that adds a bounds check in str_lower_case_match [3]. Users should update their Oniguruma library and any bundled dependencies (e.g., PHP). Ubuntu addressed this via USN-4460-1, releasing updates for libonig in various supported releases [1]. No workaround is available; applying the update is the recommended mitigation.
AI Insight generated on May 26, 2026. Synthesized from this CVE's description and the cited reference URLs; citations are validated against the source bundle.
Affected products
62- Oniguruma/Onigurumadescription
- Range: <=6.9.3
- osv-coords60 versionspkg:rpm/almalinux/apcu-panelpkg:rpm/almalinux/libzippkg:rpm/almalinux/libzip-develpkg:rpm/almalinux/libzip-toolspkg:rpm/almalinux/phppkg:rpm/almalinux/php-bcmathpkg:rpm/almalinux/php-clipkg:rpm/almalinux/php-commonpkg:rpm/almalinux/php-dbapkg:rpm/almalinux/php-dbgpkg:rpm/almalinux/php-develpkg:rpm/almalinux/php-embeddedpkg:rpm/almalinux/php-enchantpkg:rpm/almalinux/php-fpmpkg:rpm/almalinux/php-gdpkg:rpm/almalinux/php-gmppkg:rpm/almalinux/php-intlpkg:rpm/almalinux/php-jsonpkg:rpm/almalinux/php-ldappkg:rpm/almalinux/php-mbstringpkg:rpm/almalinux/php-mysqlndpkg:rpm/almalinux/php-odbcpkg:rpm/almalinux/php-opcachepkg:rpm/almalinux/php-pdopkg:rpm/almalinux/php-pearpkg:rpm/almalinux/php-pecl-apcupkg:rpm/almalinux/php-pecl-apcu-develpkg:rpm/almalinux/php-pecl-rrdpkg:rpm/almalinux/php-pecl-xdebugpkg:rpm/almalinux/php-pecl-zippkg:rpm/almalinux/php-pgsqlpkg:rpm/almalinux/php-processpkg:rpm/almalinux/php-recodepkg:rpm/almalinux/php-snmppkg:rpm/almalinux/php-soappkg:rpm/almalinux/php-xmlpkg:rpm/almalinux/php-xmlrpcpkg:rpm/opensuse/oniguruma&distro=openSUSE%20Leap%2015.3pkg:rpm/opensuse/oniguruma&distro=openSUSE%20Leap%2015.4pkg:rpm/opensuse/oniguruma&distro=openSUSE%20Leap%20Micro%205.2pkg:rpm/opensuse/oniguruma&distro=openSUSE%20Tumbleweedpkg:rpm/suse/oniguruma&distro=SUSE%20Enterprise%20Storage%206pkg:rpm/suse/oniguruma&distro=SUSE%20Enterprise%20Storage%207pkg:rpm/suse/oniguruma&distro=SUSE%20Linux%20Enterprise%20High%20Performance%20Computing%2015%20SP1-ESPOSpkg:rpm/suse/oniguruma&distro=SUSE%20Linux%20Enterprise%20High%20Performance%20Computing%2015%20SP1-LTSSpkg:rpm/suse/oniguruma&distro=SUSE%20Linux%20Enterprise%20High%20Performance%20Computing%2015%20SP2-ESPOSpkg:rpm/suse/oniguruma&distro=SUSE%20Linux%20Enterprise%20High%20Performance%20Computing%2015%20SP2-LTSSpkg:rpm/suse/oniguruma&distro=SUSE%20Linux%20Enterprise%20Micro%205.1pkg:rpm/suse/oniguruma&distro=SUSE%20Linux%20Enterprise%20Micro%205.2pkg:rpm/suse/oniguruma&distro=SUSE%20Linux%20Enterprise%20Module%20for%20Basesystem%2015%20SP3pkg:rpm/suse/oniguruma&distro=SUSE%20Linux%20Enterprise%20Module%20for%20Basesystem%2015%20SP4pkg:rpm/suse/oniguruma&distro=SUSE%20Linux%20Enterprise%20Server%2015%20SP1-BCLpkg:rpm/suse/oniguruma&distro=SUSE%20Linux%20Enterprise%20Server%2015%20SP1-LTSSpkg:rpm/suse/oniguruma&distro=SUSE%20Linux%20Enterprise%20Server%2015%20SP2-BCLpkg:rpm/suse/oniguruma&distro=SUSE%20Linux%20Enterprise%20Server%2015%20SP2-LTSSpkg:rpm/suse/oniguruma&distro=SUSE%20Linux%20Enterprise%20Server%20for%20SAP%20Applications%2015%20SP1pkg:rpm/suse/oniguruma&distro=SUSE%20Linux%20Enterprise%20Server%20for%20SAP%20Applications%2015%20SP2pkg:rpm/suse/oniguruma&distro=SUSE%20Manager%20Proxy%204.1pkg:rpm/suse/oniguruma&distro=SUSE%20Manager%20Retail%20Branch%20Server%204.1pkg:rpm/suse/oniguruma&distro=SUSE%20Manager%20Server%204.1
< 5.1.17-1.module_el8.3.0+2009+b272fdef+ 59 more
- (no CPE)range: < 5.1.17-1.module_el8.3.0+2009+b272fdef
- (no CPE)range: < 1.5.2-1.module_el8.5.0+152+112d3b8c
- (no CPE)range: < 1.5.2-1.module_el8.4.0+2229+b272fdef
- (no CPE)range: < 1.5.2-1.module_el8.5.0+152+112d3b8c
- (no CPE)range: < 7.3.20-1.module_el8.4.0+2229+b272fdef
- (no CPE)range: < 7.3.20-1.module_el8.4.0+2229+b272fdef
- (no CPE)range: < 7.3.20-1.module_el8.5.0+152+112d3b8c
- (no CPE)range: < 7.3.20-1.module_el8.3.0+2009+b272fdef
- (no CPE)range: < 7.3.20-1.module_el8.5.0+152+112d3b8c
- (no CPE)range: < 7.3.20-1.module_el8.3.0+2009+b272fdef
- (no CPE)range: < 7.3.20-1.module_el8.4.0+2229+b272fdef
- (no CPE)range: < 7.3.20-1.module_el8.3.0+2009+b272fdef
- (no CPE)range: < 7.3.20-1.module_el8.4.0+2229+b272fdef
- (no CPE)range: < 7.3.20-1.module_el8.5.0+152+112d3b8c
- (no CPE)range: < 7.3.20-1.module_el8.4.0+2229+b272fdef
- (no CPE)range: < 7.3.20-1.module_el8.3.0+2009+b272fdef
- (no CPE)range: < 7.3.20-1.module_el8.5.0+152+112d3b8c
- (no CPE)range: < 7.3.20-1.module_el8.3.0+2009+b272fdef
- (no CPE)range: < 7.3.20-1.module_el8.5.0+152+112d3b8c
- (no CPE)range: < 7.3.20-1.module_el8.5.0+152+112d3b8c
- (no CPE)range: < 7.3.20-1.module_el8.4.0+2229+b272fdef
- (no CPE)range: < 7.3.20-1.module_el8.3.0+2009+b272fdef
- (no CPE)range: < 7.3.20-1.module_el8.5.0+152+112d3b8c
- (no CPE)range: < 7.3.20-1.module_el8.5.0+152+112d3b8c
- (no CPE)range: < 1:1.10.9-1.module_el8.3.0+2009+b272fdef
- (no CPE)range: < 5.1.17-1.module_el8.5.0+152+112d3b8c
- (no CPE)range: < 5.1.17-1.module_el8.3.0+2009+b272fdef
- (no CPE)range: < 2.0.1-1.module_el8.6.0+2750+78feabcb
- (no CPE)range: < 2.8.0-1.module_el8.5.0+152+112d3b8c
- (no CPE)range: < 1.15.4-1.module_el8.4.0+2229+b272fdef
- (no CPE)range: < 7.3.20-1.module_el8.5.0+152+112d3b8c
- (no CPE)range: < 7.3.20-1.module_el8.4.0+2229+b272fdef
- (no CPE)range: < 7.3.20-1.module_el8.5.0+152+112d3b8c
- (no CPE)range: < 7.3.20-1.module_el8.3.0+2009+b272fdef
- (no CPE)range: < 7.3.20-1.module_el8.4.0+2229+b272fdef
- (no CPE)range: < 7.3.20-1.module_el8.4.0+2229+b272fdef
- (no CPE)range: < 7.3.20-1.module_el8.5.0+152+112d3b8c
- (no CPE)range: < 6.7.0-150000.3.3.1
- (no CPE)range: < 6.7.0-150000.3.3.1
- (no CPE)range: < 6.7.0-150000.3.3.1
- (no CPE)range: < 6.9.7.1-1.2
- (no CPE)range: < 6.7.0-150000.3.3.1
- (no CPE)range: < 6.7.0-150000.3.3.1
- (no CPE)range: < 6.7.0-150000.3.3.1
- (no CPE)range: < 6.7.0-150000.3.3.1
- (no CPE)range: < 6.7.0-150000.3.3.1
- (no CPE)range: < 6.7.0-150000.3.3.1
- (no CPE)range: < 6.7.0-150000.3.3.1
- (no CPE)range: < 6.7.0-150000.3.3.1
- (no CPE)range: < 6.7.0-150000.3.3.1
- (no CPE)range: < 6.7.0-150000.3.3.1
- (no CPE)range: < 6.7.0-150000.3.3.1
- (no CPE)range: < 6.7.0-150000.3.3.1
- (no CPE)range: < 6.7.0-150000.3.3.1
- (no CPE)range: < 6.7.0-150000.3.3.1
- (no CPE)range: < 6.7.0-150000.3.3.1
- (no CPE)range: < 6.7.0-150000.3.3.1
- (no CPE)range: < 6.7.0-150000.3.3.1
- (no CPE)range: < 6.7.0-150000.3.3.1
- (no CPE)range: < 6.7.0-150000.3.3.1
Patches
24 files changed · +5 −5
configure.ac+1 −1 modified@@ -108,7 +108,7 @@ int zend_sprintf(char *buffer, const char *format, ...); PHP_MAJOR_VERSION=7 PHP_MINOR_VERSION=3 PHP_RELEASE_VERSION=10 -PHP_EXTRA_VERSION="RC1" +PHP_EXTRA_VERSION="" PHP_VERSION="$PHP_MAJOR_VERSION.$PHP_MINOR_VERSION.$PHP_RELEASE_VERSION$PHP_EXTRA_VERSION" PHP_VERSION_ID=`expr [$]PHP_MAJOR_VERSION \* 10000 + [$]PHP_MINOR_VERSION \* 100 + [$]PHP_RELEASE_VERSION`
main/php_version.h+2 −2 modified@@ -3,6 +3,6 @@ #define PHP_MAJOR_VERSION 7 #define PHP_MINOR_VERSION 3 #define PHP_RELEASE_VERSION 10 -#define PHP_EXTRA_VERSION "RC1" -#define PHP_VERSION "7.3.10RC1" +#define PHP_EXTRA_VERSION "" +#define PHP_VERSION "7.3.10" #define PHP_VERSION_ID 70310
NEWS+1 −1 modified@@ -1,6 +1,6 @@ PHP NEWS ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| -12 Sep 2019, PHP 7.3.10RC1 +26 Sep 2019, PHP 7.3.10 - Core: . Fixed bug #78220 (Can't access OneDrive folder). (cmb, ab)
Zend/zend.h+1 −1 modified@@ -20,7 +20,7 @@ #ifndef ZEND_H #define ZEND_H -#define ZEND_VERSION "3.3.10RC1" +#define ZEND_VERSION "3.3.10" #define ZEND_ENGINE_3
1 file changed · +1 −0
src/regexec.c+1 −0 modified@@ -4196,6 +4196,7 @@ str_lower_case_match(OnigEncoding enc, int case_fold_flag, lowlen = ONIGENC_MBC_CASE_FOLD(enc, case_fold_flag, &p, end, lowbuf); q = lowbuf; while (lowlen > 0) { + if (t >= tend) return 0; if (*t++ != *q++) return 0; lowlen--; }
Vulnerability mechanics
Generated on May 9, 2026. Inputs: CWE entries + fix-commit diffs from this CVE's patches. Citations validated against bundle.
References
5- lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/NO267PLHGYZSWX3XTRPKYBKD4J3YOU5V/mitrevendor-advisoryx_refsource_FEDORA
- usn.ubuntu.com/4460-1/mitrevendor-advisoryx_refsource_UBUNTU
- bugs.php.net/bug.phpmitrex_refsource_MISC
- github.com/kkos/oniguruma/commit/d3e402928b6eb3327f8f7d59a9edfa622fec557bmitrex_refsource_MISC
- lists.debian.org/debian-lts-announce/2019/12/msg00002.htmlmitremailing-listx_refsource_MLIST
News mentions
0No linked articles in our index yet.