CVE-2018-8073
Description
Yii 2.x before 2.0.15 allows remote attackers to execute arbitrary LUA code via a variant of the CVE-2018-7269 attack in conjunction with the Redis extension.
AI Insight
LLM-synthesized narrative grounded in this CVE's description and references.
Yii 2.x before 2.0.15's Redis ActiveRecord findOne() and findAll() methods allow remote attackers to execute arbitrary Lua code on the Redis server.
Vulnerability
CVE-2018-8073 affects the Redis ActiveRecord implementation in the Yii2-Redis extension (yiisoft/yii2-redis) for Yii Framework versions before 2.0.15 [1][2]. The vulnerability is in the findOne() and findAll() methods of yii\redis\ActiveRecord [1][2]. These methods pass unfiltered user input as filter conditions that may be injected into Lua scripts executed on the Redis server. An attacker can leverage a variant of the SQL injection attack described in CVE-2018-7269, but adapted for Redis [3].
Exploitation
An attacker must be able to pass arbitrary input to the findOne() or findAll() methods on a Redis ActiveRecord model, typically through HTTP request parameters if the application does not validate or sanitize input [1][2]. The attacker crafts a malicious filter condition that, when sent to the Redis server, becomes part of a Lua script. Since Yii uses Lua scripting for some Redis queries, the attacker can inject arbitrary Lua code [2]. The attacker does not need prior authentication to the Redis server if the Yii application exposes these methods to unauthenticated users.
Impact
Successful exploitation allows an attacker to execute arbitrary Lua code within the Redis server's script environment [2]. This can lead to data manipulation, deletion, or extraction of sensitive data stored in Redis, and potentially further compromise of the application if Redis is used for session storage, caching, or other critical functionality [4].
Mitigation
The fix was released in Yii 2.0.15 (March 2018) [1][2]. Users should upgrade to yiisoft/yii2 2.0.15 or later and corresponding yiisoft/yii2-redis extension. As a workaround, applications should ensure that user input passed to findOne() and findAll() is properly filtered and never used directly as conditions. Additionally, the yii\redis\ActiveRecord methods now limit filter conditions to ActiveRecord property columns only, reducing the injection surface [2].
AI Insight generated on May 22, 2026. Synthesized from this CVE's description and the cited reference URLs; citations are validated against the source bundle.
Affected packages
Versions sourced from the GitHub Security Advisory.
| Package | Affected versions | Patched versions |
|---|---|---|
yiisoft/yii2-redisPackagist | < 2.0.8 | 2.0.8 |
Affected products
2Patches
0No patches discovered yet.
Vulnerability mechanics
AI mechanics synthesis has not run for this CVE yet.
References
6- github.com/advisories/GHSA-4hx3-m8w5-g5qhghsaADVISORY
- nvd.nist.gov/vuln/detail/CVE-2018-8073ghsaADVISORY
- www.yiiframework.com/news/168/releasing-yii-2-0-15-and-database-extensions-with-security-fixesghsaWEB
- www.yiiframework.com/news/168/releasing-yii-2-0-15-and-database-extensions-with-security-fixes/mitrex_refsource_CONFIRM
- github.com/FriendsOfPHP/security-advisories/blob/master/yiisoft/yii2-redis/CVE-2018-8073.yamlghsaWEB
- www.yiiframework.com/news/168/releasing-yii-2-0-15-and-database-extensions-with-security-fixesghsaWEB
News mentions
0No linked articles in our index yet.