天下漏洞,尽知其名
CRITICAL 重点关注

CVE-2026-7826 FalkorDB 堆越界读取漏洞

影响攻击者可远程造成拒绝服务或泄露堆内存数据

AI 研判

FalkorDB 4.18.4 之前版本的 BufferSerializerIOv2_ReadBuffer 函数存在堆越界读取漏洞。攻击者通过构造子缓冲区长度字段超出剩余缓冲区大小的 RDB 流,可触发 memcpy 越界读取。该漏洞 CVSS 评分为 9.1,属严重级别。

影响范围

FalkorDB

FalkorDB 4.18.4 之前的版本。

漏洞详情

漏洞位于 src/serializers/serializer_io.c 的 BufferSerializerIOv2_ReadBuffer 函数中。该函数对子缓冲区长度字段仅使用 ASSERT() 进行边界检查,而 ASSERT 在 release 构建中会被编译移除,导致 memcpy() 读取超出堆分配边界。攻击者可通过发送特制的 RDB 流触发越界读取。

利用条件与风险

利用前提是攻击者能够发送 Redis 复制命令,例如目标实例未配置密码。成功利用可导致拒绝服务或堆内存信息泄露,实战风险较高。

修复建议

建议升级至 FalkorDB 4.18.4 或更高版本。临时缓解措施包括为 Redis 实例配置访问密码并限制复制命令的访问来源。

原始情报

A heap-based out-of-bounds read in the BufferSerializerIOv2_ReadBuffer function (src/serializers/serializer_io.c) in FalkorDB before 4.18.4 allows a remote attacker who can issue Redis replication commands (for example, against an instance with no password configured) to cause a denial of service or disclose heap memory by supplying a crafted RDB stream whose sub-buffer length field exceeds the remaining buffer size. The only bounds check is an ASSERT(), which is compiled out in release builds, so memcpy() reads past the end of the heap allocation.