Horizon Alert
Summary of the vulnerability and why it matters
This advisory concerns a vulnerability in the Predis PHP client for Redis and Valkey, specifically impacting how it handles certain data formats when processing pipelined commands on cluster or replication connections. The flaw could allow an attacker to inject commands, potentially leading to broad cache deletion, data modification, data retrieval, or disruption of services.
- Data corruption and service disruption risk.
- Affects how applications manage data remotely.
- Confirm relevance and identify affected systems.
Attack Path
How an attacker could exploit the issue
An attacker could inject specially crafted commands into a Redis pipeline that is processed by the Predis PHP client. This occurs when the client incorrectly parses serialized data, allowing attacker-controlled input to be interpreted as new commands. On cluster connections, this can lead to widespread data modification or disruption, while on replication connections, it might cause application instability.
- No authentication required to trigger.
- Malformed pipeline data is the trigger.
- Uncontrolled data modification and node disruption.
Live Threat
Current exploitation, exposure, and threat context
When Redis pipeline handling on aggregate cluster and replication connections is improperly managed, attacker-controlled data containing specific character sequences could be interpreted as additional commands. This may allow for unauthorized operations on the Redis server, including data modification, deletion, or disruption, particularly when used with cluster connections.
- Redis cluster data integrity.
- Malicious data in pipeline commands.
- Unintended data loss or modification.
Operational Fix
Recommended remediation, mitigation, and detection steps
The primary responsibility for addressing this vulnerability lies with application teams using the Predis library, as it is a client-side PHP component. Infrastructure or platform teams may need to coordinate with application owners to identify affected deployments. The first practical step is to inventory all applications utilizing Predis, confirm the specific versions in use, and assess exposure based on whether these applications are internet-facing or handle untrusted input.
- Application owners must manage the issue.
- Verify all Predis client versions.
- Plan maintenance for affected applications.