Skip to main content

Dragonfly CVE-2026-47206

| EUVDEUVD-2026-39810 LOW
Improper Encoding or Escaping of Output (CWE-116)
2026-06-26 GitHub_M
2.3
CVSS 4.0 · Vendor: GitHub_M

Severity by source

Vendor (GitHub_M) PRIMARY
2.3 LOW
CVSS:4.0/AV:N/AC:L/AT:P/PR:L/UI:N/VC:N/VI:N/VA:N/SC:L/SI:L/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
vuln.today AI
4.9 MEDIUM

Network vector with low privilege required; high complexity because connection-pool multiplexing is a prerequisite; scope change affects pooled clients with low C and I impact.

3.1 AV:N/AC:H/PR:L/UI:N/S:C/C:L/I:L/A:N
4.0 AV:N/AC:L/AT:P/PR:L/UI:N/VC:N/VI:N/VA:N/SC:L/SI:L/SA:N

Primary rating from Vendor (GitHub_M).

CVSS VectorVendor: GitHub_M

Attack Vector
Network
Attack Complexity
Low
Privileges Required
Low
User Interaction
None
Scope
X

Lifecycle Timeline

3
Patch available
Jun 26, 2026 - 19:02 EUVD
Source Code Evidence Fetched
Jun 26, 2026 - 17:52 vuln.today
Analysis Generated
Jun 26, 2026 - 17:52 vuln.today

DescriptionCVE.org

Dragonfly is an in-memory data store built for modern application workloads. Prior to 1.39.9, Dragonfly has a RESP Protocol Injection via Lua redis.error_reply() in EvalSerializer. An authenticated user can inject arbitrary RESP messages into the connection's response stream, potentially causing response desynchronization in connection-pool clients. This vulnerability is fixed in 1.39.9.

AnalysisAI

RESP protocol injection in Dragonfly's EvalSerializer allows an authenticated low-privilege user to embed raw CRLF sequences inside Lua redis.error_reply() and redis.status_reply() return values, causing response stream desynchronization for connection-pool clients. All Dragonfly releases prior to 1.39.9 are affected; the vulnerability is confirmed fixed in 1.39.9 per GitHub security advisory GHSA-h77h-c6hc-qc9h. No public exploit has been identified at time of analysis, and exploitation requires authenticated access plus a connection-pooling client architecture, substantially limiting real-world risk.

Technical ContextAI

Dragonfly is a Redis-compatible in-memory data store targeting modern cloud workloads (CPE: cpe:2.3:a:dragonflydb:dragonfly:*:*:*:*:*:*:*:*). The RESP (REdis Serialization Protocol) wire protocol uses CRLF (\r\n) sequences as frame delimiters - a structural property shared with HTTP/1.1 that makes it susceptible to injection if user-supplied strings are emitted verbatim into the response stream. The root cause is CWE-116 (Improper Encoding or Escaping of Output): the EvalSerializer class in src/server/main_service.cc forwarded strings returned by Lua redis.error_reply() and redis.status_reply() directly to the response buffer without sanitizing embedded CR or LF characters. Because RESP frames are delimited by \r\n, an attacker-controlled string containing those bytes is parsed by the receiving client as a complete, separate protocol message. The fix - confirmed in PR #7332 - introduces a StripCRLF() helper that iterates the string and discards \r and \n before serialization, and adds regression tests verifying that pipeline PING responses following an injected EVAL are not consumed by the injected frame.

RemediationAI

Upgrade Dragonfly to version 1.39.9 or later; this is the vendor-confirmed fix documented in GHSA-h77h-c6hc-qc9h and implemented in PR #7332 (https://github.com/dragonflydb/dragonfly/pull/7332). If an immediate upgrade is not feasible, operators can reduce exposure by restricting Lua EVAL command access to the minimum required set of trusted accounts using Dragonfly's ACL controls, preventing untrusted authenticated users from executing arbitrary scripts. As an additional layer, connection-pool clients can be configured to use dedicated (non-multiplexed) connections or to validate response framing, though this trades throughput for safety. Note that the StripCRLF sanitization introduced in 1.39.9 silently modifies strings containing \r or \n - callers relying on those characters in redis.error_reply() or redis.status_reply() return values will observe truncated output after upgrading.

More in Redis

View all
CVE-2026-48172 CRITICAL POC
10.0 May 21

Privilege escalation to root in the LiteSpeed User-End cPanel Plugin (versions 2.3 through before 2.4.5) lets attackers

CVE-2025-49844 CRITICAL POC
9.9 Oct 03

UAF in Redis 8.2.1 via crafted Lua scripts by authenticated users. EPSS 12.4%. Patch available.

CVE-2022-0543 CRITICAL POC
10.0 Feb 18

It was discovered, that redis, a persistent key-value database, due to a packaging issue, is prone to a (Debian-specific

CVE-2018-11218 CRITICAL POC
9.8 Jun 17

Memory Corruption was discovered in the cmsgpack library in the Lua subsystem in Redis before 3.2.12, 4.x before 4.0.10,

CVE-2025-46817 HIGH POC
7.0 Oct 03

Redis is an open source, in-memory database that persists on disk. Versions 8.2.1 and below allow an authenticated user

CVE-2015-4335 CRITICAL POC
10.0 Jun 09

Redis before 2.8.21 and 3.x before 3.0.2 allows remote attackers to execute arbitrary Lua bytecode via the eval command.

CVE-2016-8339 CRITICAL POC
9.8 Oct 28

A buffer overflow in Redis 3.2.x prior to 3.2.4 causes arbitrary code execution when a crafted command is sent. Rated cr

CVE-2026-27574 CRITICAL POC
9.9 Feb 21

Code injection in OneUptime monitoring via custom JS monitor using vm module. PoC and patch available.

CVE-2021-31649 CRITICAL POC
9.8 Jun 24

In applications using jfinal 4.9.08 and below, there is a deserialization vulnerability when using redis,may be vulnerab

CVE-2020-11981 CRITICAL POC
9.8 Jul 17

An issue was found in Apache Airflow versions 1.10.10 and below. Rated critical severity (CVSS 9.8), this vulnerability

CVE-2018-11219 CRITICAL POC
9.8 Jun 17

An Integer Overflow issue was discovered in the struct library in the Lua subsystem in Redis before 3.2.12, 4.x before 4

CVE-2024-23998 CRITICAL POC
9.6 Jul 05

goanother Another Redis Desktop Manager =<1.6.1 is vulnerable to Cross Site Scripting (XSS) via src/components/Setting.v

Share

CVE-2026-47206 vulnerability details – vuln.today

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy