CVE-2024-4990
Published: 20 March 2025
Summary
CVE-2024-4990 is a critical-severity Unsafe Reflection (CWE-470) vulnerability in Yiiframework Yii. Its CVSS base score is 9.1 (Critical).
Operationally, exploitation aligns with the MITRE ATT&CK technique Exploit Public-Facing Application (T1190); ranked at the 34.5th percentile by exploit likelihood (below the median); it is not currently listed in the CISA KEV catalog; a public proof-of-concept is referenced.
The strongest mitigations our analysis identified are NIST 800-53 SI-10 (Information Input Validation) and SI-2 (Flaw Remediation).
Threat & Defense at a Glance
Threat & Defense Details
Mitigating Controls (NIST 800-53 r5)AI
Flaw remediation directly patches the vulnerable __set() method in Yii2 version 2.0.48, eliminating the ability to instantiate arbitrary classes.
Information input validation ensures values passed to __set() are restricted to valid Behavior class names or configurations, blocking arbitrary class instantiation.
Vulnerability monitoring and scanning identifies systems with the vulnerable Yii2 version, enabling proactive remediation before exploitation.
MITRE ATT&CK Enterprise TechniquesAI
Why these techniques?
Remote unauthenticated RCE via unsafe class instantiation in public-facing PHP web framework directly enables T1190 (Exploit Public-Facing Application) and facilitates T1059 (Command and Scripting Interpreter) for arbitrary code execution.
NVD Description
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…
more
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.
Deeper analysisAI
CVE-2024-4990 affects yiisoft/yii2 version 2.0.48, a PHP framework, specifically in its base Component class. The vulnerability arises because the `__set()` magic method fails to validate that the value passed to it is a valid Behavior class name or configuration. This flaw enables attackers to instantiate arbitrary classes, supply parameters to their constructors, and invoke setter methods on those classes.
Remote attackers require no privileges or user interaction to exploit this issue over the network with low complexity, as indicated by its CVSS 3.1 score of 9.1 (AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:H). Exploitation depends on the victim's installed dependencies and can lead to arbitrary code execution, retrieval of sensitive information, or unauthorized access. The issue is classified under CWE-470.
Details on mitigation, including any patches or workarounds, are documented in the advisory at https://huntr.com/bounties/4fbdd965-02b6-42e4-b57b-f98f93415b8f. The vulnerability was published on 2025-03-20.
Details
- CWE(s)