{"id":"CVE-2026-5759","state":"PUBLISHED","title":"Double free and use-after-free in FalkorDB RdbLoadDeletedNodes allows remote code execution via crafted RDB","description":"A double free and use-after-free vulnerability in the RdbLoadDeletedNodes function of the RDB graph decoders (src/serializers/decoders/*/decode_graph_entities.c) in FalkorDB before 4.18.1 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 execute arbitrary code in the redis-server process by supplying a crafted RDB stream whose deleted-nodes buffer length is not a multiple of sizeof(NodeID). The length check relies on ASSERT(), which is compiled out in release builds, so the function continues after freeing the buffer, reading it and freeing it a second time.","publishedAt":"2026-10-09T04:04:28.078Z","updatedAt":"2026-10-13T17:01:45.296Z","severity":{"score":9.3,"label":"Critical","version":"4.0","vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N","source":"securin"},"assigner":"securin","products":["FalkorDB FalkorDB"],"affected":[{"vendor":"FalkorDB","product":"FalkorDB","defaultStatus":"unaffected","versions":[{"version":"0","status":"affected","lessThan":"4.18.1","versionType":"semver"}],"collectionURL":"https://github.com/FalkorDB/FalkorDB","repo":"https://github.com/FalkorDB/FalkorDB","modules":["RDB serializer / graph decoder"],"programFiles":["src/serializers/decoders/current/v19/decode_graph_entities.c","src/serializers/decoders/prev/v18/decode_graph_entities.c","src/serializers/decoders/prev/v17/decode_graph_entities.c"],"programRoutines":[{"name":"RdbLoadDeletedNodes_v17"},{"name":"RdbLoadDeletedNodes_v18"},{"name":"RdbLoadDeletedNodes_v19"}],"cpes":["cpe:2.3:a:falkordb:falkordb:*:*:*:*:*:*:*:*"]}],"references":["https://github.com/FalkorDB/FalkorDB/pull/1843","https://github.com/FalkorDB/FalkorDB/commit/523d98ac7ffe99f11a9c95c258025c235f0dff4c","https://github.com/FalkorDB/FalkorDB/releases/tag/v4.18.1"],"weaknesses":["CWE-415","CWE-416"],"ingestedAt":"2026-10-29T20:12:32.778Z","source":{"repository":"CVEProject/cvelistV5","path":"cves/2026/5xxx/CVE-2026-5759.json","commit":"556c9d3a8cd17e218bb8e452ba7cd619a384ff47"},"raw":{"dataType":"CVE_RECORD","dataVersion":"5.2","cveMetadata":{"cveId":"CVE-2026-5759","state":"PUBLISHED","datePublished":"2026-10-09T04:04:28.078Z","dateUpdated":"2026-10-13T17:01:45.296Z","assignerShortName":"securin","assignerOrgId":"33c584b5-0579-4c06-b2a0-8d8329fcab9c","dateReserved":"2026-04-07T17:26:12.107Z"},"containers":{"cna":{"title":"Double free and use-after-free in FalkorDB RdbLoadDeletedNodes allows remote code execution via crafted RDB","descriptions":[{"lang":"en","value":"A double free and use-after-free vulnerability in the RdbLoadDeletedNodes function of the RDB graph decoders (src/serializers/decoders/*/decode_graph_entities.c) in FalkorDB before 4.18.1 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 execute arbitrary code in the redis-server process by supplying a crafted RDB stream whose deleted-nodes buffer length is not a multiple of sizeof(NodeID). The length check relies on ASSERT(), which is compiled out in release builds, so the function continues after freeing the buffer, reading it and freeing it a second time."}],"affected":[{"vendor":"FalkorDB","product":"FalkorDB","defaultStatus":"unaffected","versions":[{"version":"0","status":"affected","lessThan":"4.18.1","versionType":"semver"}],"collectionURL":"https://github.com/FalkorDB/FalkorDB","repo":"https://github.com/FalkorDB/FalkorDB","modules":["RDB serializer / graph decoder"],"programFiles":["src/serializers/decoders/current/v19/decode_graph_entities.c","src/serializers/decoders/prev/v18/decode_graph_entities.c","src/serializers/decoders/prev/v17/decode_graph_entities.c"],"programRoutines":[{"name":"RdbLoadDeletedNodes_v17"},{"name":"RdbLoadDeletedNodes_v18"},{"name":"RdbLoadDeletedNodes_v19"}],"cpes":["cpe:2.3:a:falkordb:falkordb:*:*:*:*:*:*:*:*"]}],"references":[{"url":"https://github.com/FalkorDB/FalkorDB/pull/1843","name":"FalkorDB PR #1843","tags":["patch"]},{"url":"https://github.com/FalkorDB/FalkorDB/commit/523d98ac7ffe99f11a9c95c258025c235f0dff4c","name":"Fix commit","tags":["patch"]},{"url":"https://github.com/FalkorDB/FalkorDB/releases/tag/v4.18.1","name":"FalkorDB 4.18.1 release notes","tags":["release-notes"]}],"metrics":[{"format":"CVSS","scenarios":[{"lang":"en","value":"GENERAL"}],"cvssV4_0":{"version":"4.0","vectorString":"CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N","baseScore":9.3,"baseSeverity":"CRITICAL"}},{"format":"CVSS","scenarios":[{"lang":"en","value":"GENERAL"}],"cvssV3_1":{"version":"3.1","vectorString":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","baseScore":9.8,"baseSeverity":"CRITICAL"}}],"problemTypes":[{"descriptions":[{"cweId":"CWE-415","lang":"en","type":"CWE","description":"CWE-415 Double Free"},{"cweId":"CWE-416","lang":"en","type":"CWE","description":"CWE-416 Use After Free"}]}],"providerMetadata":{"shortName":"securin","orgId":"33c584b5-0579-4c06-b2a0-8d8329fcab9c","dateUpdated":"2026-10-09T04:04:28.078Z"},"solutions":[{"lang":"en","value":"Upgrade FalkorDB to version 4.18.1 or later."}],"workarounds":[{"lang":"en","value":"Require authentication on the Redis/FalkorDB instance (requirepass or ACLs), restrict or rename the REPLICAOF/SLAVEOF commands so untrusted clients cannot use them, and do not expose the instance to untrusted networks."}],"credits":[{"lang":"en","type":"finder","value":"Arjun Basnet from Securin"}],"timeline":[{"time":"2026-04-07T00:00:00.000Z","lang":"en","value":"Reported to FalkorDB"},{"time":"2026-04-10T00:00:00.000Z","lang":"en","value":"Fix merged by the vendor (PR #1843)"},{"time":"2026-04-12T00:00:00.000Z","lang":"en","value":"FalkorDB 4.18.1 released with the fix"},{"time":"2026-04-13T00:00:00.000Z","lang":"en","value":"CVE ID shared with the vendor"}],"source":{"discovery":"EXTERNAL"}},"adp":[{"title":"CISA ADP Vulnrichment","metrics":[{"other":{"type":"ssvc","content":{"timestamp":"2026-10-13T15:28:40.207197Z","id":"CVE-2026-5759","options":[{"Exploitation":"none"},{"Automatable":"yes"},{"Technical Impact":"total"}],"role":"CISA Coordinator","version":"2.0.3"}}}],"providerMetadata":{"shortName":"CISA-ADP","orgId":"134c704f-9b21-4f2e-91b3-4a467353bcc0","dateUpdated":"2026-10-13T17:01:45.296Z"}}]}}}