Impact
Dragonfly is vulnerable to a double‑free bug that occurs while deserializing stream data during the RDB restore process. The OpaqueObjLoader::CreateStream routine in src/server/rdb_load.cc can inadvertently free the same streamNACK object twice when a duplicate consumer entry is rejected, leading to allocator corruption. Consequence of the corruption is a denial of service and, under the right conditions, attacker‑controlled code execution as the Dragonfly service account.
Affected Systems
DragonflyDB Dragonfly, versions earlier than 1.40 are affected. No published release includes the fix at this time.
Risk and Exploitability
The CVSS score of 9.6 indicates a critical severity. EPSS is not provided, and the vulnerability is not listed in CISA KEV. The attack vector is likely a remote unauthenticated client exploiting the default configuration in which authentication is disabled; such a client can send a crafted serialized stream to the RESTORE command to trigger the double‑free. If a successful exploitation occurs, it can lead to memory corruption and arbitrary code execution within the service process.
OpenCVE Enrichment