CVE-2026-84372: Predis: Redis command injection and denial of service via CRLF smuggling in pipelined commands on aggregate connections
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.
Security readout for executives and security teams
Plain-English summary
A flaw in Predis can let untrusted data embedded in pipelined Redis requests be mistaken for extra commands. An attacker could potentially delete cached data, alter or read information, or disrupt Redis nodes and application requests. Exposure is limited to affected Predis versions using pipeline operations through aggregate cluster or replication connections.
Executive priority
Treat this as an immediate patching priority for internet-facing or untrusted-input applications using the affected pipeline configuration. Rapidly inventory Predis deployments, identify reachable pipeline paths, and upgrade confirmed exposures. The potential business impact includes cache-wide deletion, unauthorized data access or modification, Redis node disruption, and recurring request failures, although active exploitation is not established.
Technical view
Predis 3.0.0-RC1 through versions before 3.3.0 incorrectly reparses serialized RESP pipeline buffers by splitting on CRLF rather than respecting length prefixes. Embedded CRLF in attacker-controlled keys or values may become additional Redis commands. Cluster routing can enable confidentiality, integrity, and availability impact; replication reparsing can cause uncaught exceptions. Transactions and MULTI are not affected.
Likely exposure
Applications are likely exposed when they use Predis versions from 3.0.0-RC1 to before 3.3.0, call pipeline(), use aggregate cluster or replication connections, and permit attacker influence over Redis keys or values. Applications using transaction() or MULTI without the vulnerable pipeline path are not affected according to the supplied advisory information.
Exploitation context
The CVSS 3.1 score is 9.8, reflecting remote, low-complexity, unauthenticated impact without user interaction. However, the supplied sources do not establish active exploitation, and this CVE is not identified as KEV. Practical exploitation depends on attacker-controlled CRLF content reaching the specific pipelined aggregate-connection path.
Researcher notes
The defect is CWE-93 command injection caused by delimiter-based reparsing of an already serialized RESP buffer. ClusterStrategy::getFakeKey() may route injected keyless commands using the literal key "key." Replication connections may instead encounter malformed reparsing and uncaught exceptions. Review should focus narrowly on AbstractAggregateConnection::write() reached through pipeline(), respecting the stated exclusion of transaction() and MULTI.
Mitigation direction
Upgrade Predis to version 3.3.0 or later.
Prioritize applications using pipeline() with cluster or replication connections.
Until upgraded, prevent untrusted CRLF-containing data from reaching affected pipelined keys or values.
Consult the Predis security advisory and release notes for deployment-specific guidance.
Validation and detection
Inventory installed Predis versions and flag releases from 3.0.0-RC1 through 3.2.x.
Search application code for pipeline() usage on cluster or replication connections.
Trace whether external input can influence pipelined Redis keys or values.
Confirm transaction() or MULTI findings separately; those paths are reported unaffected.
After remediation, verify production dependencies resolve to Predis 3.3.0 or later.
Generated from the cited source records. This long-tail analysis has not been individually reviewed by a named human.
Potential ATT&CK relevance
Conservative CVE-to-ATT&CK context
These mappings and lookup hints may be relevant to the vulnerability behavior, CWE, affected product, or exposure path. Glexia-inferred context is not an official MITRE, ATT&CK, CWE, or CVE Program mapping.
ATT&CK lookup starting points
Use these exact CWE pages and searches to review the Glexia ATT&CK library from this CVE's weakness and description context.
cwe · low confidence lookup
CWE-93: Exact CWE lookup
Use the exact CWE identifier as the starting point before reviewing related ATT&CK behavior. Open the exact CWE lookup page first, then review the ATT&CK searches from that MITRE weakness context. This is a Glexia lookup hint, not an official ATT&CK mapping.
The CVE wording references code or command execution, so execution technique review may help defensive triage. This is a Glexia inferred lookup path, not an official MITRE, ATT&CK, or CVE Program mapping.
These fields come from the CVE record and ADP containers, not from Glexia's Take. They preserve time-varying source decisions such as CISA SSVC, KEV status, CVSS metrics, and provider references.
1CVSS vectors
3Timeline events
1ADP providers
6Source links
SSVC decision data
CISA-ADPCISA Coordinator
Timestamp
Version
2.0.3
Exploitation: pocAutomatable: yesTechnical Impact: total
CVSS vector scores
1 official score
We collect every scored CVSS vector available in the official CNA and ADP containers. When more than one version is present, the table keeps the source vectors side by side instead of collapsing them into the highest score.
CWE links open Glexia weakness intelligence pages with official CWE context, developer remediation guidance, and related CVE mappings.
CWE-93 · source CWE mapping
Improper Neutralization of CRLF Sequences ('CRLF Injection')
Improper Neutralization of CRLF Sequences ('CRLF Injection') represents a recurring weakness pattern that can create exploitable paths when design, validation, or implementation controls are missing.