CVE-2026-6104

Critical

Description

In PHP versions 8.4.* before 8.4.21 and 8.5.* before 8.5.6, when an encoding name containing an embedded NUL byte is passed to mb_convert_encoding() or related mbstring functions, the code incorrectly assumes that when strncasecmp() returns 0 it means the strings have the same length. This can lead to out-of-bounds read of global memory, potentially causing a crash or information disclosure or crash. Affected functions include mb_convert_encoding(), mb_detect_encoding(), mb_convert_variables(), and mb_detect_order(), as well as the mbstring.detect_order and mbstring.http_output INI settings.

SeverityCritical
CVSS9.1
Exploit probability—
ProductPhp
PublishedMay 10, 2026
First seenMay 10, 2026

How to fix

Affected products

ProductAffected versionsFixed in
php php8.4.0 ≤ v < 8.4.21, 8.5.0 ≤ v < 8.5.68.4.21, 8.5.6

Check your version

Choose the product and enter the version you run to see whether it falls in the affected range.

In the Intelligence 360 plan

Attack Surface Management

See the assets tied to your domains, the technologies they run and known vulnerabilities in one list.