Executive brief
A vulnerability in PHP's multibyte string handling can allow an attacker to crash a web server or application. By providing a specific, unsupported text encoding name to certain PHP functions, an attacker can trigger a system crash (segmentation fault). This results in a denial of service, potentially taking websites or services offline.
Technical details
A mismatch exists between the encoding lists supported by the Oniguruma regex library and the internal mbfl library within PHP's mbstring extension. When mb_regex_encoding() is called with an encoding supported by Oniguruma but not by mbfl (such as 'iso-8859-11'), the internal mbfl encoding pointer is set to NULL. Subsequent calls to mbregex search APIs, such as mb_ereg_search_init(), result in a NULL pointer dereference in php_mb_check_encoding(). This leads to a segmentation fault and process crash. The issue is fixed in PHP versions 8.2.31, 8.3.31, 8.4.21, and 8.5.6.
Affected products
- PHP Group PHP 8.2.0 to 8.2.30, 8.3.0 to 8.3.30, 8.4.0 to 8.4.20, 8.5.0 to 8.5.5
Timeline
- 2026-05-07: advisory: GitHub Security Advisory published by PHP Group
- 2026-05-10: disclosed: CVE published to NVD
- 2026-05-10: patched: Patched versions released