What this actually is.
Technical background, root cause, and affected surface.
A type confusion in the GRAPH.QUERY argument parser (src/commands/cmd_dispatcher.c) in FalkorDB before 4.20.0 allows a remote authenticated Redis client to make the server dereference attacker-influenced memory. The parser accepts a --bolt flag from any client and casts the following argument, a RedisModuleString, directly to bolt_client_t* without checking its origin; result-set code then reads Bolt client fields at fixed offsets inside the Redis string object. This flag is parsed regardless of whether the Bolt port is enabled, so default configurations are affected.
- Vendor
- FalkorDB
- Product
- FalkorDB
- Severity
- High
- CVSS Score
- 7.5
- Status
- Fixed (v4.20.0)
- Vector
- CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H
- CWE
- CWE-843
From one request
to root shell.
Reproduced in a sandboxed environment. Requires only LAN or WiFi adjacency.
# result-set formatter functions that read bolt_client->state.
The bug, and the fix.
// src/commands/cmd_dispatcher.c:67-68 (identical in master 835d06e): } else if(!strcasecmp(arg, "--bolt")) { *bolt_client = (bolt_client_t *)argv[++i]; // unchecked provenance } // downstream at :271-274: RedisModuleCtx *redis_ctx = (bolt_client != NULL) ? bolt_client->ctx : NULL ; // derefs attacker-controlled bytes
What an attacker does to you.
Post-exploitation outcomes mapped to CVSS impact metrics.
A client allowed to run GRAPH.QUERY can make the module treat a Redis string object as a Bolt client structure, causing wild-pointer dereferences: at minimum a crash of the redis-server process, potentially memory disclosure or corruption. This crosses a security boundary where Redis ACLs restrict users to GRAPH.QUERY. Assessed from source review; not demonstrated beyond the dereference primitive.
C:H · I:H · A:H
CWE-843
Fix it. In this order.
A runbook, not a checklist. Sequence matters — assume compromise before you act.
Upgrade FalkorDB to 4.20.0 or later, where the --bolt flag and Bolt subsystem have been removed (PR #2170), or move to 6.x. Interim: restrict GRAPH.QUERY to trusted clients with Redis ACLs.
disclose@securin.ioVendors moved in days.
Attackers in hours.
Reconstructed from vendor advisories, CISA bulletins, and Securin research records.
Source-level audit of FalkorDB v4.18.10; re-verified against upstream master 835d06e on 2026-06-24 (2026-04 to 2026-06-29)
Reported to FalkorDB security team (security@falkordb.com) as part of a 6-finding disclosure pack; vendor acknowledged receipt the same day
Vendor removed the Bolt subsystem (PR #2170, commit 0b11a00) - no advisory or credit
FalkorDB 4.20.0 released without Bolt support
90-day coordinated disclosure window ended with no further vendor response
FalkorDB 6.0.0 released (Rust engine; C code base not present)
Securin re-verified: Bolt code absent from 4.20.0, 4.20.7, 4.22.0 and 6.0.2 | CVE-2026-107911 assigned by Securin CNA
CVE-2026-107911 published to the CVE List by Securin CNA (NVD import pending)
Disclosed 9 days after discovery
Cite, verify, go deeper.
Primary sources — NVD, CISA KEV, and machine-readable IoC feed.