CVE Catalog

CVE-2026-84372

CriticalCVSS 9.8
Published: Translated: NVD NIST

Summary

Predis, a Redis and Valkey client for PHP, versions 3.0.0-RC1 through 3.3.0, improperly processes the RESP buffer in aggregate connections, allowing an attacker to inject additional commands via keys or values containing CRLF sequences. This can lead to shard-wide cache deletion, targeted data modification, data reads, or node disruption. Only pipeline() is affected; transactions are not vulnerable. Fixed in version 3.3.0.

Risk Assessment

An attacker can perform unauthorized operations on data in a cluster or replication setup, potentially leading to data integrity loss, information disclosure, or service disruption.

Recommendation

Immediately upgrade the Predis library to version 3.3.0 or later to remediate the vulnerability.

Related vulnerabilities

Original NVD description (English source)

Predis is a flexible and feature-complete Redis and Valkey client for PHP. From version 3.0.0-RC1 until version 3.3.0, pipeline handling on aggregate cluster and replication connections reparses an already serialized RESP buffer in AbstractAggregateConnection::write() by splitting it with explode("\r\n") instead of honoring RESP length prefixes. Attacker-controlled keys or values containing CRLF sequences can therefore be interpreted by Command::deserializeCommand() as additional commands. On cluster connections, ClusterStrategy::getFakeKey() can route injected keyless commands using the literal fake key value "key", permitting operations such as shard-wide cache deletion, targeted data modification, data reads, or node disruption. On replication connections, malformed reparsing can throw an uncaught exception and repeatedly terminate affected requests. Only pipeline() reaches this vulnerable path; transaction() and MULTI are not affected. This issue is fixed in version 3.3.0.

Vulnerability data from NVD (NIST) · CISA KEV · EPSS