Redis Lua Use-After-Free may lead to remote code execution
CVE: CVE-2025-49844
Component: Redis
CWE: CWE-416
Severity: Important
CVSS v3: 9.0/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
Release date: 2025-10-03T19:27:23.609000+00:00

A vulnerability found in Redis where a flaw in the Lua scripting engine can trigger a use-after-free condition. An authenticated attacker can exploit this by running a specially crafted Lua script, potentially resulting in remote code execution (RCE) within the Redis process.

Statement: This vulnerability should be rated Important rather than Moderate because it introduces a memory-safety defect in Redis’s Lua subsystem that can be weaponized for remote code execution (RCE). An authenticated actor with permission to run Lua can craft scripts that trigger a use-after-free in the parser/stack-management code, giving precise control over freed memory and enabling arbitrary code execution inside the redis-server process. That risk is fundamentally different from a typical moderate issue (e.g., a crash or limited denial-of-service): successful exploitation directly compromises the server runtime and all in-memory contents—cached data, session tokens, and application state—rather than merely disrupting service. Because Redis commonly runs with elevated privileges and is a trusted core component in application architectures, an RCE in the server process undermines confidentiality, integrity, and availability across dependent services. Authenticated attackability, trivial exploitation via standard commands (EVAL/EVALSHA), and the potential for full-process compromise elevate CVE-2025-49844 to Important severity.

This flaw exists only in the Redis server implementation; 

Redis client libraries (Python, Node.js, Rust, etc.) are not affected by this vulnerability, and it only exists in the Redis server’s embedded Lua engine where scripts execute. Client libraries merely transmit EVAL/EVALSHA to the server.


Red Hat Satellite does not ship the Redis server, and the Redis client libraries it includes (such as python-redis, python-aioredis and rubygem-redis) are not impacted by this vulnerability. While Satellite consume the Redis package from the underlying RHEL system, which is affected, the Redis service in Satellite is bound only to the local interface and is accessible solely by internal components like Pulp and Dynflow. Since vulnerability requires sending crafted Lua payloads to the Redis command interface, and no external or untrusted clients can connect, the effective exposure within Satellite is nullified.

Remediation:
Before applying this update, make sure all previously released errata relevant to your system have been applied.

For details on how to apply this update, refer to:

https://access.redhat.com/articles/11258
Before applying this update, make sure all previously released errata relevant to your system have been applied.

For details on how to apply this update, refer to:

https://access.redhat.com/articles/11258
Before applying this update, make sure all previously released errata relevant to your system have been applied.

For details on how to apply this update, refer to:

https://access.redhat.com/articles/11258
No mitigation is currently available that meets Red Hat Product Security’s standards for usability, deployment, applicability, or stability.

To reduce the risk, restricting network access to trusted hosts, enforcing strong authentication and protected-mode, disabling or limiting Lua scripting where possible can be beneficial and apply least-privilege ACLs to reduce who can run scripting commands, keep instances non-public with firewalls/VPCs, and follow Redis hardening guidance to minimize exposure.