CVE-2025-14179
KrytyczneCVSS 9.8Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 36 - wyżej niż 36% wszystkich znanych CVE
Streszczenie
W PHP wersje 8.2.* przed 8.2.31, 8.3.* przed 8.3.31, 8.4.* przed 8.4.21 i 8.5.* przed 8.5.6 zawierają podatność w sterowniku PDO Firebird. Podczas przygotowywania zapytań SQL, tokeny zawierające bajty NUL są nieprawidłowo kopiowane przez funkcję strncat(), która zatrzymuje się na bajcie NUL, pomijając zamykający cudzysłów i powodując, że kolejne tokeny SQL są interpretowane jako część ciągu znaków. Umożliwia to wstrzyknięcie SQL, gdy wartości kontrolowane przez atakującego są cytowane przez PDO::quote() i osadzone w instrukcjach SQL.
Ocena ryzyka
Organizacja narażona jest na ataki SQL injection, które mogą prowadzić do nieautoryzowanego dostępu do bazy danych Firebird, wycieku danych lub ich modyfikacji. Podatność może być wykorzystana zdalnie bez uwierzytelnienia.
Rekomendacja
Należy natychmiast zaktualizować PHP do wersji 8.2.31, 8.3.31, 8.4.21 lub 8.5.6 w zależności od używanej gałęzi. Jeśli aktualizacja nie jest możliwa, należy unikać używania PDO::quote() z wartościami zawierającymi bajty NUL lub tymczasowo wyłączyć sterownik PDO Firebird.
Oryginalny opis (angielski, źródło NVD)
In PHP versions 8.2.* before 8.2.31, 8.3.* before 8.3.31, 8.4.* before 8.4.21, and 8.5.* before 8.5.6, the PDO Firebird driver improperly handles NUL bytes when preparing SQL queries. During token-by-token query construction, a string token containing a NUL byte is copied via strncat(), which stops at the NUL byte, dropping the closing quote and causing subsequent SQL tokens to be interpreted as part of the string. This allows SQL injection when attacker-controlled values are quoted via PDO::quote() and embedded in SQL statements.

