Biblioteka laminas-http w wersjach przed 2.14.2 oraz Zend Framework 3.0.0 zawierają podatność na niebezpieczną deserializację (CWE-502), która może prowadzić do zdalnego wykonania kodu (RCE). Zagrożenie jest krytyczne ze względu na brak wymagań uwierzytelnienia i możliwość pełnego przejęcia kontroli nad serwerem.
▸ Pokaż oryginał (EN)
Laminas Project laminas-http before 2.14.2, and Zend Framework 3.0.0, has a deserialization vulnerability that can lead to remote code execution if the content is controllable, related to the __destruct method of the Zend\Http\Response\Stream class in Stream.php. NOTE: Zend Framework is no longer supported by the maintainer. NOTE: the laminas-http vendor considers this a "vulnerability in the PHP language itself" but has added certain type checking as a way to prevent exploitation in (unrecommended) use cases where attacker-supplied data can be deserialized
Podatność związana jest z metodą __destruct klasy Zend\Http\Response\Stream znajdującej się w pliku Stream.php. Jeśli atakujący jest w stanie kontrolować dane poddawane deserializacji przez aplikację, może skonstruować złośliwy obiekt, którego przetworzenie wywoła metodę __destruct w sposób umożliwiający wykonanie dowolnego kodu. Producent biblioteki laminas-http uznał problem za wynikający z natury języka PHP, jednak wprowadził dodatkowe sprawdzanie typów w wersji 2.14.2, aby ograniczyć możliwość eksploatacji w scenariuszach, gdzie dane wejściowe pochodzą od atakującego. Zend Framework nie jest już aktywnie wspierany przez producenta.
Atakujący, który może kontrolować deserializowane dane, może uzyskać możliwość zdalnego wykonania dowolnego kodu (RCE) na serwerze, co może skutkować pełnym przejęciem systemu, ujawnieniem poufnych danych lub naruszeniem integralności i dostępności usługi.
Należy zaktualizować bibliotekę laminas-http do wersji 2.14.2 lub nowszej, w której wprowadzono dodatkowe sprawdzanie typów ograniczające możliwość eksploatacji. W przypadku Zend Framework 3.0.0 — producent nie wydaje już aktualizacji bezpieczeństwa; zaleca się migrację do aktywnie wspieranej biblioteki laminas-http. Niezależnie od aktualizacji, należy upewnić się, że dane kontrolowane przez użytkownika nigdy nie są przekazywane do funkcji deserializacji.
Laminas Project laminas-http w wersjach przed 2.14.2 oraz Zend Framework 3.0.0
Producent biblioteki laminas-http oficjalnie stwierdził, że uważa problem za podatność języka PHP, a nie samej biblioteki, jednak mimo to wprowadził poprawkę w wersji 2.14.2. Zend Framework nie jest już wspierany przez producenta. W referencjach pojawia się powiązanie z raportem badaczy Check Point Research dotyczącym kampanii botnetowej, jednak opis CVE nie potwierdza bezpośrednio aktywnej eksploatacji tej konkretnej podatności w tamtej kampanii.
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:HGetlaminas Laminas Http
APPGetlaminas< 2.14.2Zend Framework
APPZend3.0.0
Powiązane podatności
Zdalne wykonanie kodu przez deserializację w Zend Framework
SQL Injection w Zend Framework przez null byte (sqlsrv)
SQL injection w Zend Framework przy użyciu kodowań non-ASCII z PDO_MySql
SQL injection w Zend Framework przez funkcję Zend_Db_Select::order
Zend Framework: Obejście walidatorów sesji w SessionManager