Redis is an open source, in-memory database that persists on disk. Versions 8.2.1 and below allow an authenticated user to use a specially crafted Lua script to manipulate different LUA objects and potentially run their own code in the context of another user. The problem exists in all versions of Redis with LUA scripting. This issue is fixed in version 8.2.2. A workaround to mitigate the problem without patching the redis-server executable is to prevent users from executing LUA scripts. This can be done using ACL to block a script by restricting both the EVAL and FUNCTION command families.
CVSS:3.1/AV:L/AC:L/PR:L/UI:R/S:U/C:H/I:H/A:H
| Attack Vector | LOCAL |
|---|---|
| Attack Complexity | LOW |
| Privileges Required | LOW |
| User Interaction | REQUIRED |
| Scope | UNCHANGED |
| Confidentiality Impact | HIGH |
| Integrity Impact | HIGH |
| Availability Impact | HIGH |
| Source | Type | Description |
|---|---|---|
| [email protected] | Secondary |
en
CWE-94
|
| Vendor | Product | Version | Update | Type |
|---|---|---|---|---|
| redis | redis | * | <built-in method update of dict object at 0x7e60bae4bf40> | Application |
| redis | redis | * | <built-in method update of dict object at 0x7e61114e0500> | Application |
| redis | redis | * | <built-in method update of dict object at 0x7e60eb2e3900> | Application |
| redis | redis | * | <built-in method update of dict object at 0x7e60bae4b280> | Application |
| redis | redis | * | <built-in method update of dict object at 0x7e60bae4a740> | Application |
| Vulnerable | CPE |
|---|---|
| Yes | cpe:2.3:a:redis:redis:*:*:*:*:*:*:*:* |
| Yes | cpe:2.3:a:redis:redis:*:*:*:*:*:*:*:* |
| Yes | cpe:2.3:a:redis:redis:*:*:*:*:*:*:*:* |
| Yes | cpe:2.3:a:redis:redis:*:*:*:*:*:*:*:* |
| Yes | cpe:2.3:a:redis:redis:*:*:*:*:*:*:*:* |