Skip to main content
Vulnerability Database/CVE-2026-107910

CVE-2026-107910: FalkorDB Authentication Bypass Vulnerability

CVE-2026-107910 is an authentication bypass flaw in FalkorDB allowing remote attackers to execute graph queries without credentials. This post explains its technical details, affected versions, impact, and mitigation steps.

Published:

CVE-2026-107910 Overview

CVE-2026-107910 is an improper authentication vulnerability [CWE-287] in FalkorDB versions prior to 4.20.0. The flaw resides in the is_authenticated function within src/bolt/bolt_api.c. The function determines whether a password is required by issuing an empty AUTH command to Redis and treats only a WRONGPASS error as indicating that authentication is needed. Any other Redis error, such as LOADING, MASTERDOWN, or OOM, causes the client to be treated as authenticated. A remote unauthenticated attacker can execute graph queries through the Bolt endpoint when BOLT_PORT is enabled.

Critical Impact

Remote unauthenticated attackers can execute arbitrary graph queries against FalkorDB when transient Redis error states occur, exposing full database contents.

Affected Products

  • FalkorDB versions prior to 4.20.0
  • Deployments with the Bolt endpoint (BOLT_PORT) explicitly enabled
  • Graph database instances backed by Redis under memory pressure, replication failover, or dataset loading

Discovery Timeline

  • 2026-10-09 - CVE-2026-107910 published to the National Vulnerability Database (NVD)
  • 2026-10-15 - Last updated in NVD database

Technical Details for CVE-2026-107910

Vulnerability Analysis

FalkorDB is a graph database built as a Redis module. The Bolt protocol endpoint allows clients to execute Cypher-style graph queries using the same wire protocol as Neo4j. The authentication gate for Bolt connections lives in is_authenticated inside src/bolt/bolt_api.c.

The function probes whether authentication is required by sending an empty AUTH command to the underlying Redis instance. It then inspects the error response. Only a WRONGPASS error is interpreted as "password required". Every other error is treated as success. This includes transient operational errors like LOADING during dataset load, MASTERDOWN during replication failover, and OOM under memory pressure.

During any of these windows, an unauthenticated remote attacker can connect to the Bolt port and submit queries. The attacker can read, modify, or delete graph data without supplying credentials.

Root Cause

The root cause is error-handling logic that fails open. The implementation assumes a binary signal from Redis, with WRONGPASS as the only indicator that authentication is enforced. Treating every other error as proof of a valid session inverts the correct default. The correct default for an authentication check must be to deny when the state cannot be verified.

Attack Vector

Exploitation requires network reach to the Bolt port and the presence of a Redis error state other than WRONGPASS. An attacker can trigger OOM by filling memory, wait for a replication failover event, or race a server restart while the dataset is loading. During any such window, the attacker opens a Bolt session, skips authentication handshake data, and issues queries that the server executes with full privileges.

c
// Patch: FalkorDB 4.20.0 removes the Bolt endpoint entirely.
// src/bolt/bolt_api.h is deleted in the fix commit.
-/*
- * Copyright FalkorDB Ltd. 2023 - present
- * Licensed under the Server Side Public License v1 (SSPLv1).
- */
-
-#pragma once
-
-#include "redismodule.h"
-
-// listen to bolt port
-// add the socket to the event loop
-int BoltApi_Register
-(
-    RedisModuleCtx *ctx  // redis context
-);
-
-// free connected clients
-void BoltApi_Unregister
-(
-    void
-);

Source: FalkorDB commit 0b11a00b

Detect Identity Attacks the Moment Authentication Fails

Singularity™ Identity surfaces credential misuse, lateral movement, and privilege escalation in real time, so you can contain the breach before it spreads.

Stop Identity Attacks

Detection Methods for CVE-2026-107910

Indicators of Compromise

  • Bolt protocol connections to the FalkorDB BOLT_PORT from source addresses outside the expected application tier
  • Successful Cypher-style query execution logged without a preceding authenticated session handshake
  • Redis server log entries showing LOADING, MASTERDOWN, or OOM errors coinciding with new external Bolt sessions
  • Unexpected graph read, write, or delete operations during replication failover or memory-pressure events

Detection Strategies

  • Inventory FalkorDB instances and flag any where BOLT_PORT is set, since the port is disabled by default
  • Correlate Redis OOM, LOADING, and MASTERDOWN log events with Bolt session establishment on the same timeline
  • Alert on Bolt sessions originating from non-allowlisted source IP addresses or on queries from accounts without a prior AUTH success event

Monitoring Recommendations

  • Capture network flow telemetry for the configured FalkorDB Bolt port and baseline expected client sources
  • Forward FalkorDB and Redis logs to a centralized data lake and apply retention sufficient to investigate error-window exploitation
  • Review query audit logs for destructive Cypher operations such as MATCH ... DELETE and bulk CREATE executed during Redis error states

How to Mitigate CVE-2026-107910

Immediate Actions Required

  • Upgrade FalkorDB to version 4.20.0 or later, which removes the Bolt endpoint and eliminates the vulnerable code path
  • Disable BOLT_PORT on all FalkorDB deployments that cannot be upgraded immediately
  • Restrict network access to the Bolt port using firewall rules or security groups so only trusted application hosts can reach it
  • Audit graph data for unauthorized changes if BOLT_PORT was exposed and Redis error states have occurred

Patch Information

The fix is delivered in FalkorDB 4.20.0. The maintainers chose to remove Bolt support entirely rather than repair the is_authenticated logic. The change is implemented in pull request #2170 and merged in commit 0b11a00b. Release notes are available at the FalkorDB v4.20.0 release page.

Workarounds

  • Unset the BOLT_PORT environment variable or configuration directive and restart FalkorDB to prevent the module from binding the Bolt listener
  • Block inbound traffic to the Bolt port at the host firewall and at network perimeter devices
  • Place FalkorDB behind an authenticated reverse proxy or service mesh that enforces client identity before traffic reaches the Bolt listener
bash
# Disable the Bolt endpoint when loading the FalkorDB module
# Omit the BOLT_PORT argument entirely to prevent the vulnerable listener from starting
redis-server --loadmodule /path/to/falkordb.so

# Verify no process is listening on the previously configured Bolt port
ss -ltnp | grep -E ':(7687|BOLT_PORT_VALUE)\b'

Disclaimer: This content was generated using AI. While we strive for accuracy, please verify critical information with official sources.

Experience the Most Advanced Cybersecurity Platform

See how the world’s most intelligent, autonomous cybersecurity platform can protect your organization today and into the future.