CRITICAL🇬🇧 English

CVE-2024-4990

Yii2: Instantiacja dowolnych klas przez metodę __set() w klasie Component

CVSS 9.1v3.1pub. 2025-03-20upd. 2025-04-01

W Yii2 w wersji 2.0.48 bazowa klasa Component zawiera podatność (CWE-470) umożliwiającą atakującemu zdalnie i bez uwierzytelnienia inicjalizację dowolnych klas PHP. W zależności od zainstalowanych zależności może to prowadzić do wykonania kodu, wycieku danych lub nieautoryzowanego dostępu.

Pokaż oryginał (EN)

In yiisoft/yii2 version 2.0.48, the base Component class contains a vulnerability where the `__set()` magic method does not validate that the value passed is a valid Behavior class name or configuration. This allows an attacker to instantiate arbitrary classes, passing parameters to their constructors and invoking setter methods. Depending on the installed dependencies, various types of attacks are possible, including the execution of arbitrary code, retrieval of sensitive information, and unauthorized access.

🤖 Analiza AI
Jak działa

Metoda magiczna `__set()` klasy Component nie weryfikuje, czy przekazana wartość jest poprawną nazwą klasy Behavior ani prawidłową konfiguracją. Atakujący może w efekcie zmusić aplikację do instancjacji dowolnej klasy dostępnej w środowisku PHP, przekazując parametry do jej konstruktora oraz wywołując metody setter. Podatność jest eksploitowalna zdalnie, bez uwierzytelnienia i bez wymaganej interakcji użytkownika (wektor CVSS: AV:N/AC:L/PR:N/UI:N). Konkretne skutki zależą od klas dostępnych w projekcie i jego zależnościach (atak typu 'PHP Object/Class Instantiation Gadget Chain').

Skutki

Atakujący może doprowadzić do wykonania dowolnego kodu (RCE), pozyskania wrażliwych informacji lub uzyskania nieautoryzowanego dostępu do systemu. Wpływ na poufność i dostępność oceniony jako wysoki (C:H, A:H).

Mitygacja

Należy zastosować patche dostępne u producenta zgodnie z referencjami. Zaleca się pilną aktualizację biblioteki yiisoft/yii2 powyżej wersji 2.0.48 oraz weryfikację zainstalowanych zależności pod kątem potencjalnych gadget chain.

Kogo dotyczy

Yiiframework Yii2 (yiisoft/yii2) w wersji 2.0.48

Uwagi

Podatność zgłoszona za pośrednictwem platformy Huntr (bounty 4fbdd965-02b6-42e4-b57b-f98f93415b8f). Stopień zagrożenia może być wyższy w środowiskach z rozbudowanymi zależnościami PHP, które dostarczają klas podatnych na nadużycie jako gadget chain.

CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:H
  • Yiiframework Yii

    APP
    Yiiframework
    2.0.48
🔵
ZWERYFIKUJ U PRODUCENTA
Brak jednoznacznych danych o patchu. Sprawdź referencje od producenta.
CWE
Referencje

Powiązane podatności

CVE-2024-58136CRITICAL9.0⚠ KEVPL ✓ten sam produkt

Yii 2 — nieprawidłowa obsługa behavior z kluczem __class umożliwia RCE

CVE-2015-5467CRITICAL9.8ten sam produkt

web\ViewAction in Yii (aka Yii2) 2.x before 2.0.5 allows attackers to execute any local .php file via a relati...

CVE-2023-26750CRITICAL9.8ten sam produkt

SQL injection vulnerability found in Yii Framework Yii 2 Framework before v.2.0.47 allows the a remote attacke...

CVE-2018-8073CRITICAL9.8ten sam produkt

Yii 2.x before 2.0.15 allows remote attackers to execute arbitrary LUA code via a variant of the CVE-2018-7269...

CVE-2018-7269CRITICAL9.8ten sam produkt

The findByCondition function in framework/db/ActiveRecord.php in Yii 2.x before 2.0.15 allows remote attackers...

CVE-2024-4990 — Yii2: Instantiacja dowolnych klas przez metodę __set() w klasie Component — CRITICAL 9.1 | CVEbaza.pl