---
id: CVE-2026-84372
title: Predis is a flexible and feature-complete Redis and Valkey client for PHP
summary: >-
  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 Abstr…
severity: critical
cvss: 9.8
cvssVector: 'CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H'
cwe:
  - CWE-93
vendor: predis
product: predis/predis
affected:
  - 'predis/predis >= 3.0.0-RC1, < 3.3.0'
patched:
  - predis/predis 3.3.0
published: '2026-09-01'
updated: '2026-09-09'
sourceUpdated: '2026-09-09T21:09:13.080'
source: NVD
sourceUrl: 'https://nvd.nist.gov/vuln/detail/CVE-2026-84372'
references:
  - url: >-
      https://github.com/predis/predis/commit/053cb4b6ac7fb1f469ead96a78d059bc0458e408
    label: security-advisories@github.com
  - url: 'https://github.com/predis/predis/issues/1574'
    label: security-advisories@github.com
  - url: 'https://github.com/predis/predis/pull/1586'
    label: security-advisories@github.com
  - url: 'https://github.com/predis/predis/releases/tag/v3.3.0'
    label: security-advisories@github.com
  - url: 'https://github.com/predis/predis/security/advisories/GHSA-w6f5-v2h6-g786'
    label: security-advisories@github.com
  - url: 'https://github.com/predis/predis/issues/1574'
    label: 134c704f-9b21-4f2e-91b3-4a467353bcc0
  - url: 'https://github.com/predis/predis/security/advisories/GHSA-w6f5-v2h6-g786'
    label: 134c704f-9b21-4f2e-91b3-4a467353bcc0
  - url: 'https://nvd.nist.gov/vuln/detail/CVE-2026-84372'
  - url: 'https://github.com/advisories/GHSA-w6f5-v2h6-g786'
tags:
  - nvd
  - ghsa
  - composer
epss: 0.00726
epssPercentile: 0.5213
aliases:
  - GHSA-w6f5-v2h6-g786
ecosystem: composer
ingestedAt: '2026-09-08T21:11:12.321Z'
---

## Overview

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.

## Remediation

Refer to the linked advisories for vendor-supplied fixes and affected version ranges.

## Package advisory (CVE-2026-84372)

Affected packages:

- `predis/predis >= 3.0.0-RC1, < 3.3.0`

Patched in:

- `predis/predis 3.3.0`

Source: https://github.com/advisories/GHSA-w6f5-v2h6-g786
