CVE-2025-14179
KrytyczneCVSS 9.8Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 21 — wyżej niż 21% 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 bajt NUL są nieprawidłowo kopiowane przez funkcję strncat(), która zatrzymuje się na tym bajcie, pomijając zamykający cudzysłów i powodując, że kolejne tokeny SQL są interpretowane jako część ciągu znaków.
Ocena ryzyka
Atakujący może wykorzystać tę podatność do wstrzyknięcia SQL, gdy kontrolowane przez niego wartości są cytowane przez PDO::quote() i osadzone w zapytaniach SQL, co może prowadzić do nieautoryzowanego dostępu do danych lub ich modyfikacji.
Rekomendacja
Należy niezwłocznie 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 danymi zawierającymi bajty NUL w zapytaniach do bazy 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.

