CVE-2026-6104
KrytyczneCVSS 9.1Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 37 — wyżej niż 37% wszystkich znanych CVE
Streszczenie
W PHP 8.4.* przed 8.4.21 i 8.5.* przed 8.5.6, przekazanie nazwy kodowania zawierającej wbudowany bajt NUL do funkcji mb_convert_encoding() lub pokrewnych funkcji mbstring powoduje błędne założenie, że zwrócenie 0 przez strncasecmp() oznacza równą długość łańcuchów. Prowadzi to do odczytu poza zakresem pamięci globalnej, co może skutkować awarią lub ujawnieniem informacji.
Ocena ryzyka
Organizacja narażona jest na potencjalne ujawnienie poufnych danych w pamięci lub przerwanie działania usług z powodu awarii, jeśli atakujący może kontrolować nazwę kodowania przekazywaną do funkcji mbstring.
Rekomendacja
Należy niezwłocznie zaktualizować PHP do wersji 8.4.21 lub nowszej (dla gałęzi 8.4) albo 8.5.6 lub nowszej (dla gałęzi 8.5).
Oryginalny opis (angielski, źródło NVD)
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.

