CRLF Injection Affecting predis/predis package, versions >=3.0.0-RC1, <3.3.0


Severity

Recommended
0.0
critical
0
10

CVSS assessment by Snyk's Security Team. Learn more

Threat Intelligence

Exploit Maturity
Proof of Concept
EPSS
0.73% (53rd percentile)

Do your applications use this vulnerable package?

In a few clicks we can analyze your entire application and see what components are vulnerable in your application, and suggest you quick fixes.

Test your applications

Snyk Learn

Learn about CRLF Injection vulnerabilities in an interactive lesson.

Start learning
  • Snyk IDSNYK-PHP-PREDISPREDIS-20158914
  • published27 Sept 2026
  • disclosed8 Sept 2026
  • creditPiotr Hałas

Introduced: 8 Sep 2026

CVE-2026-84372  (opens in a new tab)
CWE-93  (opens in a new tab)

How to fix?

Upgrade predis/predis to version 3.3.0 or higher.

Overview

Affected versions of this package are vulnerable to CRLF Injection in AbstractAggregateConnection::write() in src/Connection/AbstractAggregateConnection.php, which re-parses the already serialized pipeline buffer by splitting on \r\n and rebuilding chunks through Command::deserializeCommand() for routing, disregarding the $<len> bulk length prefixes that define where a RESP argument ends. An attacker can inject Redis commands of their choosing into the connection, reaching FLUSHDB, DEL, SET, and GET on cluster connections and an uncaught UnexpectedValueException on replication connections, by placing \r\n and a RESP encoded command inside any value that reaches a pipelined argument, such as a URL slug used as a cache key. This requires the application to call pipeline() on an aggregate connection, so single node connections and the transaction() path are unaffected.

CVSS Base Scores

version 4.0
version 3.1