CRITICAL🇬🇧 English

CVE-2021-3007

Podatność deserialization RCE w Laminas-Http i Zend Framework

CVSS 9.8v3.1pub. 2021-01-04upd. 2024-11-21

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

🤖 Analiza AI
Jak działa

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.

Skutki

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.

Mitygacja

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.

Kogo dotyczy

Laminas Project laminas-http w wersjach przed 2.14.2 oraz Zend Framework 3.0.0

Uwagi

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 Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
  • Getlaminas Laminas Http

    APP
    Getlaminas
    < 2.14.2
  • Zend Framework

    APP
    Zend
    3.0.0
🔵
ZWERYFIKUJ U PRODUCENTA
Brak jednoznacznych danych o patchu. Sprawdź referencje od producenta.
Tagi
RCEDeserialization
CWE
Referencje

Powiązane podatności

CVE-2020-29312CRITICAL9.8PL ✓ten sam produkt

Zdalne wykonanie kodu przez deserializację w Zend Framework

CVE-2014-8089CRITICAL9.8PL ✓ten sam produkt

SQL Injection w Zend Framework przez null byte (sqlsrv)

CVE-2011-1939CRITICAL9.8PL ✓ten sam produkt

SQL injection w Zend Framework przy użyciu kodowań non-ASCII z PDO_MySql

CVE-2014-4914CRITICAL9.8PL ✓ten sam produkt

SQL injection w Zend Framework przez funkcję Zend_Db_Select::order

CVE-2015-1555CRITICAL9.1PL ✓ten sam produkt

Zend Framework: Obejście walidatorów sesji w SessionManager