Published on October 21, 2025Documentation Index
Fetch the complete documentation index at: https://help.onetsolutions.net/llms.txt
Use this file to discover all available pages before exploring further.
The mechanics
Redis’s embedded Lua engine theoretically isolates user scripts in a sandbox. The bug is a two-step affair:- Memory corruption. A specially-crafted Lua script manipulates Lua’s garbage collector to free an object that is still referenced elsewhere.
- Escape. The resulting use-after-free lets the attacker break out of the Lua interpreter and run code natively inside the
redis-serverprocess.
Why the “authenticated” qualifier is misleading
The advisory talks about an authenticated attacker — but in practice:- Many Redis instances run with no
requirepass, sitting on networks assumed to be “trusted”. - Others store credentials in plaintext inside backups, Docker images, or leaked environment variables.
- A plain SSRF in an application that talks to an internal Redis is enough to look “authenticated” from Redis’s perspective.
Patches
Upgrade Redis to (at least) the patched version for your branch:| Redis branch | Minimum patched version |
|---|---|
| 6.2 | 6.2.20 |
| 7.2 | 7.2.11 |
| 7.4 | 7.4.6 |
| 8.0 | 8.0.4 |
| 8.2 | 8.2.2 |
Mitigation if you cannot patch right away
Disable the Lua commands through Redis ACLs. Not ideal (some apps depend on them) but it closes the attack path:- Bind Redis to
127.0.0.1or to a strictly internal network (bindinredis.conf). - Enable
requirepassor named ACLs. - Block port
6379at the firewall for everything except your application clients.
Check your version
Takeaways
- Patching is the right answer. If you defer: ACL
-eval+ network restriction, in the meantime. - Use the restart to tighten configuration: binding, requirepass, renaming dangerous commands.
- A PoC is public, exploitation is trivial once
EVALis reachable — don’t sit on it.

