Podatności PHP
111 znanych podatności CVE w PHP, przetłumaczonych i ocenionych.
- CVE-2026-17543Krytyczne
W PHP (wersje 8.2.x przed 8.2.33, 8.3.x przed 8.3.33, 8.4.x przed 8.4.24 i 8.5.x przed 8.5.9) nieprawidłowe escapowanie znaków backslasha w parametrach dostarczonych przez atakującego umożliwia prostą iniekcję SQL.
- CVE-2026-6104Krytyczne
W PHP wersje 8.4.* przed 8.4.21 i 8.5.* przed 8.5.6, gdy nazwa kodowania zawierająca wbudowany bajt NUL jest przekazywana do mb_convert_encoding() lub powiązanych funkcji mbstring, kod błędnie zakłada, że gdy strncasecmp() zwraca 0, oznacza to, że ciągi mają tę samą długość. Może to prowadzić do odczytu poza zakresem pamięci globalnej, potencjalnie powodując awarię lub ujawnienie informacji.
- CVE-2026-7261Krytyczne
W PHP w wersjach 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, gdy SoapServer jest skonfigurowany z SOAP_PERSISTENCE_SESSION, obiekt handlera jest przechowywany między żądaniami w sesji. Jednak w przypadku błędu w żądaniach SOAP, trwałość jest obsługiwana nieprawidłowo, co prowadzi do zwolnienia obiektu przy zachowaniu wskaźnika do niego, co może skutkować użyciem po zwolnieniu (use-after-free). Może to prowadzić do uszkodzenia pamięci, ujawnienia informacji lub awarii procesu, wpływając na poufność, integralność i dostępność systemu.
- CVE-2026-6722Krytyczne
W PHP w wersjach 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 mechanizm deduplikacji obiektów rozszerzenia SOAP przechowuje wskaźniki do obiektów PHP w globalnej mapie bez zwiększania ich liczników referencji. Gdy węzeł apache:Map zawiera zduplikowane klucze, przetworzenie drugiego wpisu nadpisuje pierwszy w tymczasowej mapie wyników, zwalniając oryginalny obiekt PHP, podczas gdy jego stary wskaźnik pozostaje w mapie. Późniejsze odwołanie href do zwolnionego węzła może skopiować wiszący wskaźnik do wyniku. Ponieważ alokacje łańcuchów PHP mogą odzyskać zwolniony obszar pamięci, atakujący kontrolujący treść żądania SOAP może wykorzystać tę podatność use-after-free do zdalnego wykonania kodu.
- CVE-2025-14179Krytyczne
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.
- CVE-2023-3824Krytyczne
W wersjach PHP 8.0.* przed 8.0.30, 8.1.* przed 8.1.22 oraz 8.2.* przed 8.2.8, podczas ładowania pliku phar, niewystarczające sprawdzanie długości może prowadzić do przepełnienia bufora stosu, co potencjalnie może skutkować uszkodzeniem pamięci lub zdalnym wykonaniem kodu.
- CVE-2019-11050Średnie
W PHP, w rozszerzeniu EXIF, podczas parsowania informacji EXIF z obrazu (np. przez funkcję exif_read_data()) w wersjach 7.2.x poniżej 7.2.26, 7.3.x poniżej 7.3.13 oraz 7.4.0, możliwe jest odczytanie danych poza przydzielonym buforem. Może to prowadzić do ujawnienia informacji lub awarii.
- CVE-2019-11049Średnie
W PHP w wersjach 7.3.x poniżej 7.3.13 oraz 7.4.0 na systemie Windows, podczas podawania niestandardowych nagłówków do funkcji mail(), jeśli nagłówek jest podany małymi literami, może dojść do podwójnego zwolnienia pamięci (double-free).
- CVE-2019-11045Niskie
W wersjach PHP 7.2.x poniżej 7.2.26, 7.3.x poniżej 7.3.13 oraz 7.4.0, klasa DirectoryIterator akceptuje nazwy plików z osadzonym bajtem \0 i traktuje je jako zakończone w tym miejscu. Może to prowadzić do luk bezpieczeństwa, np. w aplikacjach sprawdzających ścieżki, do których kod ma dostęp.
- CVE-2019-11044Niskie
W wersjach PHP 7.2.x poniżej 7.2.26, 7.3.x poniżej 7.3.13 oraz 7.4.0 w systemie Windows, funkcja link() akceptuje nazwy plików z osadzonym bajtem \0 i traktuje je jako zakończone w tym miejscu. Może to prowadzić do luk bezpieczeństwa, np. w aplikacjach sprawdzających ścieżki, do których kod ma dostęp.
- CVE-2017-12933Krytyczne
Funkcja finish_nested_data w PHP przed wersją 5.6.31, 7.0.x przed 7.0.21 oraz 7.1.x przed 7.1.7 jest podatna na nadmierne odczytywanie bufora podczas deserializacji nieufnych danych. Wykorzystanie tej podatności może wpłynąć na integralność PHP.
- CVE-2017-12932Krytyczne
W PHP w wersjach 7.0.x do 7.0.22 oraz 7.1.x do 7.1.8 występuje podatność związana z używaniem pamięci po zwolnieniu (use after free) podczas deserializacji niezaufanych danych. Problem ten dotyczy niewłaściwego użycia API haszującego przy usuwaniu kluczy w sytuacji z nieprawidłowym rozmiarem tablicy.
- CVE-2017-9119Krytyczne
Funkcja i_zval_ptr_dtor w Zend/zend_variables.h w PHP 7.1.5 umożliwia atakującym wywołanie odmowy usługi (zużycie pamięci i awaria aplikacji) poprzez wywołanie spreparowanych operacji na strukturach danych tablicowych.
- CVE-2017-8923Krytyczne
Funkcja zend_string_extend w PHP do wersji 7.1.5 nie zapobiega zmianom obiektów string, które mogą prowadzić do ujemnej długości. To umożliwia zdalnym atakującym spowodowanie awarii aplikacji lub potencjalnie innych nieokreślonych skutków poprzez wykorzystanie operatora .= z długim ciągiem.
- CVE-2016-10160Krytyczne
Błąd off-by-one w funkcji phar_parse_pharfile w PHP przed wersją 5.6.30 oraz 7.0.x przed 7.0.15 umożliwia zdalnym atakującym spowodowanie odmowy usługi (uszkodzenie pamięci) lub potencjalne wykonanie dowolnego kodu poprzez spreparowany archiwum PHAR z niezgodnością aliasów.
- CVE-2016-7479Krytyczne
Wszystkie wersje PHP 7 mają podatność, która podczas procesu deserializacji może prowadzić do użycia po zwolnieniu pamięci, gdy rozmiar tabeli haszującej 'properties' obiektu serializowanego jest zmieniany. Zdalny atakujący może wykorzystać ten błąd do uzyskania dowolnego wykonania kodu.
- CVE-2016-7480Krytyczne
Implementacja deserializacji SplObjectStorage w PHP przed wersją 7.0.12 nie weryfikuje, czy klucz jest obiektem, co umożliwia zdalnym atakującym wykonanie dowolnego kodu lub spowodowanie odmowy usługi poprzez spreparowane dane zserializowane.
- CVE-2016-9138Krytyczne
PHP w wersjach do 5.6.27 oraz 7.x do 7.0.12 niewłaściwie obsługuje modyfikację właściwości podczas przetwarzania __wakeup, co pozwala zdalnym atakującym na spowodowanie odmowy usługi lub potencjalnie innych nieokreślonych skutków za pomocą spreparowanych danych zserializowanych.
- CVE-2016-7417Krytyczne
W PHP przed wersją 5.6.26 oraz 7.x przed wersją 7.0.11 występuje podatność w pliku ext/spl/spl_array.c, która pozwala na deserializację SplArray bez walidacji wartości zwracanej i typu danych. Może to prowadzić do odmowy usługi lub innych nieokreślonych skutków w wyniku wykorzystania spreparowanych danych.
- CVE-2016-7414Krytyczne
Funkcja weryfikacji podpisu ZIP w PHP przed wersją 5.6.26 oraz 7.x przed wersją 7.0.11 nie zapewnia odpowiedniej wielkości pola uncompressed_filesize, co umożliwia zdalnym atakującym wywołanie odmowy usługi (dostęp do pamięci poza zakresem) lub potencjalnie inny nieokreślony wpływ za pomocą spreparowanego archiwum PHAR.
- CVE-2016-7411Krytyczne
W PHP przed wersją 5.6.26 występuje problem z obsługą błędów deserializacji obiektów, co może prowadzić do usunięcia usługi z powodu uszkodzenia pamięci lub innych nieokreślonych skutków.
- CVE-2016-7127Krytyczne
Funkcja imagegammacorrect w PHP przed wersją 5.6.25 oraz 7.x przed 7.0.10 nieprawidłowo waliduje wartości gamma, co może prowadzić do odmowy usługi (zapisy poza zakresem) lub innych nieokreślonych skutków.
- CVE-2016-7126Krytyczne
Funkcja imagetruecolortopalette w PHP przed wersją 5.6.25 oraz 7.x przed wersją 7.0.10 nieprawidłowo waliduje liczbę kolorów, co może prowadzić do odmowy usługi lub innych nieokreślonych skutków.
- CVE-2016-7124Krytyczne
W PHP przed wersją 5.6.25 oraz 7.x przed wersją 7.0.10 występuje problem z niewłaściwym przetwarzaniem nieprawidłowych obiektów, co może prowadzić do odmowy usługi lub innych nieokreślonych skutków. Atakujący mogą wykorzystać spreparowane dane zserializowane, co prowadzi do wywołania metody __destruct lub metody magicznej.
- CVE-2016-5114Krytyczne
W PHP przed wersją 5.5.31, 5.6.x przed 5.6.17 oraz 7.x przed 7.0.2 występuje błąd w pliku fpm_log.c, który błędnie interpretuje wartość zwracaną przez snprintf. Może to prowadzić do ujawnienia wrażliwych informacji z pamięci procesu lub do odmowy usługi poprzez odczyt poza zakresem i przepełnienie bufora.
- CVE-2016-6295Krytyczne
W PHP przed wersją 5.5.38, 5.6.x przed 5.6.24 oraz 7.x przed 7.0.9 występuje nieprawidłowa interakcja między implementacją unserialize a zbieraniem śmieci, co może prowadzić do odmowy usługi (use-after-free i awaria aplikacji) lub innych nieokreślonych skutków za pomocą spreparowanych danych zserializowanych.
- CVE-2016-6294Krytyczne
Funkcja locale_accept_from_http w PHP przed wersją 5.5.38, 5.6.x przed 5.6.24 oraz 7.x przed 7.0.9 nie ogranicza poprawnie wywołań do funkcji ICU uloc_acceptLanguageFromHTTP. To umożliwia zdalnym atakującym wywołanie błędu typu denial of service (odczyt poza zakresem) lub potencjalnie inny nieokreślony wpływ poprzez wywołanie z długim argumentem.
- CVE-2016-6291Krytyczne
Funkcja exif_process_IFD_in_MAKERNOTE w PHP przed wersją 5.5.38, 5.6.x przed 5.6.24 oraz 7.x przed 7.0.9 umożliwia zdalnym atakującym wywołanie odmowy usługi poprzez dostęp do tablicy poza zakresem oraz uszkodzenie pamięci. Atakujący mogą również uzyskać wrażliwe informacje z pamięci procesu lub potencjalnie wywołać inne nieokreślone skutki za pomocą spreparowanego obrazu JPEG.
- CVE-2016-6290Krytyczne
W PHP przed wersją 5.5.38, 5.6.x przed 5.6.24 oraz 7.x przed 7.0.9 występuje problem z nieprawidłowym zarządzaniem strukturą danych hasha, co może prowadzić do odmowy usługi (use-after-free) lub innych nieokreślonych skutków związanych z deserializacją sesji.
- CVE-2016-6288Krytyczne
Funkcja php_url_parse_ex w PHP przed wersją 5.5.38 umożliwia zdalnym atakującym spowodowanie odmowy usługi (przepełnienie bufora) lub potencjalnie inny nieokreślony wpływ poprzez wektory związane z typem danych smart_str.
- CVE-2016-4544Krytyczne
Funkcja exif_process_TIFF_in_JPEG w PHP przed wersją 5.5.35, 5.6.x przed 5.6.21 oraz 7.x przed 7.0.6 nie weryfikuje danych startowych TIFF, co umożliwia zdalnym atakującym wywołanie odmowy usługi (odczyt poza zakresem) lub potencjalnie inny nieokreślony wpływ poprzez spreparowane dane nagłówka.
- CVE-2016-4543Krytyczne
Funkcja exif_process_IFD_in_JPEG w PHP przed wersją 5.5.35, 5.6.x przed 5.6.21 oraz 7.x przed 7.0.6 nie weryfikuje rozmiarów IFD, co umożliwia zdalnym atakującym spowodowanie odmowy usługi (odczyt poza zakresem) lub potencjalnie inny nieokreślony wpływ poprzez spreparowane dane nagłówka.
- CVE-2016-4542Krytyczne
Funkcja exif_process_IFD_TAG w PHP przed wersją 5.5.35, 5.6.x przed 5.6.21 oraz 7.x przed 7.0.6 nieprawidłowo konstruuje argumenty spprintf, co umożliwia zdalnym atakującym wywołanie odmowy usługi (odczyt poza zakresem) lub potencjalnie inny nieokreślony wpływ poprzez spreparowane dane nagłówka.
- CVE-2016-4541Krytyczne
Funkcja grapheme_strpos w PHP przed wersją 5.5.35, 5.6.x przed 5.6.21 oraz 7.x przed 7.0.6 umożliwia zdalnym atakującym spowodowanie odmowy usługi (odczyt poza zakresem) lub potencjalnie inny nieokreślony wpływ poprzez negatywny offset.
- CVE-2016-4540Krytyczne
Funkcja grapheme_stripos w PHP przed wersją 5.5.35, 5.6.x przed 5.6.21 oraz 7.x przed 7.0.6 umożliwia zdalnym atakującym spowodowanie odmowy usługi (odczyt poza zakresem) lub potencjalnie inny nieokreślony wpływ poprzez negatywny offset.
- CVE-2016-4539Krytyczne
Funkcja xml_parse_into_struct w PHP przed wersją 5.5.35, 5.6.x przed 5.6.21 oraz 7.x przed 7.0.6 pozwala zdalnym atakującym na wywołanie odmowy usługi poprzez specjalnie przygotowane dane XML, co prowadzi do błędów w analizatorze.
- CVE-2016-4537Krytyczne
Funkcja bcpowmod w PHP przed wersją 5.5.35, 5.6.x przed 5.6.21 oraz 7.x przed 7.0.6 akceptuje ujemną liczbę całkowitą jako argument skali, co może prowadzić do odmowy usługi lub innych nieokreślonych skutków.
- CVE-2016-4346Krytyczne
Przepełnienie całkowite w funkcji str_pad w PHP przed wersją 7.0.4 może umożliwić zdalnym atakującym spowodowanie odmowy usługi lub innego nieokreślonego wpływu poprzez długi ciąg, co prowadzi do przepełnienia bufora w stercie.
- CVE-2016-4344Krytyczne
Przepełnienie całkowite w funkcji xml_utf8_encode w PHP przed wersją 7.0.4 umożliwia zdalnym atakującym spowodowanie odmowy usługi lub potencjalnie innego nieokreślonego wpływu poprzez długi argument do funkcji utf8_encode, co prowadzi do przepełnienia bufora w pamięci.
- CVE-2015-8876Krytyczne
W PHP przed wersją 5.4.44, 5.5.x przed 5.5.28 oraz 5.6.x przed 5.6.12 nie walidowane są niektóre obiekty Exception, co pozwala zdalnym atakującym na spowodowanie odmowy usługi (dereferencja wskaźnika NULL i awaria aplikacji) lub wywołanie niezamierzonych metod za pomocą spreparowanych danych zserializowanych.
- CVE-2015-6835Krytyczne
Deserializator sesji w PHP przed wersją 5.4.45, 5.5.x przed 5.5.29 oraz 5.6.x przed 5.6.13 niewłaściwie obsługuje wiele wywołań php_var_unserialize, co pozwala zdalnym atakującym na wykonanie dowolnego kodu lub spowodowanie odmowy usługi (use-after-free) poprzez spreparowaną zawartość sesji.
- CVE-2015-6834Krytyczne
Wielokrotne podatności typu use-after-free w PHP przed wersją 5.4.45, 5.5.x przed 5.5.29 oraz 5.6.x przed 5.6.13 umożliwiają zdalnym atakującym wykonanie dowolnego kodu. Problemy te dotyczą interfejsu Serializable, klasy SplObjectStorage oraz klasy SplDoublyLinkedList, które są niewłaściwie obsługiwane podczas deserializacji.
- CVE-2015-5589Krytyczne
Funkcja phar_convert_to_other w PHP przed wersją 5.4.43, 5.5.x przed 5.5.27 oraz 5.6.x przed 5.6.11 nie weryfikuje wskaźnika pliku przed operacją zamknięcia, co pozwala zdalnym atakującym na spowodowanie odmowy usługi (błąd segmentacji) lub potencjalnie inny nieokreślony wpływ poprzez spreparowany archiwum TAR, które jest niewłaściwie obsługiwane w wywołaniu Phar::convertToData.
- CVE-2015-4643Krytyczne
Przepełnienie bufora na stercie w funkcji ftp_genlist w PHP przed wersją 5.4.42, 5.5.x przed 5.5.26 oraz 5.6.x przed 5.6.10 umożliwia zdalnym serwerom FTP wykonanie dowolnego kodu poprzez długą odpowiedź na polecenie LIST.
- CVE-2015-4603Krytyczne
Funkcja exception::getTraceAsString w PHP przed wersją 5.4.40, 5.5.x przed 5.5.24 oraz 5.6.x przed 5.6.8 pozwala zdalnym atakującym na wykonanie dowolnego kodu poprzez nieoczekiwany typ danych, co jest związane z problemem 'confusion type'.
- CVE-2015-4602Krytyczne
Funkcja __PHP_Incomplete_Class w PHP przed wersją 5.4.40, 5.5.x przed 5.5.24 oraz 5.6.x przed 5.6.8 umożliwia zdalnym atakującym spowodowanie awarii aplikacji lub potencjalne wykonanie dowolnego kodu poprzez nieoczekiwany typ danych, co jest związane z problemem 'confuzji typów'.
- CVE-2015-4601Krytyczne
PHP w wersjach przed 5.6.7 może pozwolić zdalnym atakującym na spowodowanie awarii aplikacji (denial of service) lub potencjalne wykonanie dowolnego kodu poprzez nieoczekiwany typ danych, związany z problemami 'type confusion'.
- CVE-2015-4599Krytyczne
Metoda SoapFault::__toString w PHP przed wersją 5.4.40, 5.5.x przed 5.5.24 oraz 5.6.x przed 5.6.8 pozwala zdalnym atakującym na uzyskanie wrażliwych informacji, spowodowanie odmowy usługi (awaria aplikacji) lub potencjalne wykonanie dowolnego kodu poprzez nieoczekiwany typ danych, związany z problemem 'type confusion'.
- CVE-2015-4116Krytyczne
W podatności CVE-2015-4116 występuje błąd use-after-free w funkcji spl_ptr_heap_insert w PHP przed wersją 5.5.27 oraz 5.6.x przed 5.6.11. Umożliwia to zdalnym atakującym wykonanie dowolnego kodu poprzez wywołanie nieudanego działania porównawczego w SplMinHeap.
- CVE-2016-1903Krytyczne
Funkcja gdImageRotateInterpolated w PHP przed wersją 5.5.31, 5.6.x przed 5.6.17 oraz 7.x przed 7.0.2 umożliwia zdalnym atakującym uzyskanie wrażliwych informacji lub spowodowanie odmowy usługi poprzez przekazanie dużego argumentu bgd_color do funkcji imagerotate.

