RedisBloom is a probabilistic data structures module for Redis. In all versions of RedisBloom before 2.8.20, the module does not properly validate serialized values processed through the Redis RESTORE command. An authenticated attacker with permission to execute RESTORE on a server with the RedisBloom module loaded can supply a crafted serialized payload that triggers invalid memory access and may lead to remote code execution. A workaround is to restrict access to the RESTORE command with ACL rules. This issue is fixed in version 2.8.20.
{
"cna_assigner": "GitHub_M",
"cwe_ids": [
"CWE-122"
],
"osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/25xxx/CVE-2026-25589.json"
}{
"source": [
"AFFECTED_FIELD",
"CPE_RANGE",
"REFERENCES"
],
"extracted_events": [
{
"introduced": "0"
},
{
"fixed": "2.8.20"
},
{
"introduced": "0"
},
{
"fixed": "2.8.20"
}
],
"cpe": "cpe:2.3:a:redisbloom:redisbloom:*:*:*:*:*:*:*:*"
}"https://storage.googleapis.com/osv-test-cve-osv-conversion/osv-output/CVE-2026-25589.json"
"2026-06-20T09:54:06Z"
[
{
"source": "https://github.com/redisbloom/redisbloom/commit/7aa71f3aed2e7d86b9e39601edf85aa621144258",
"target": {
"function": "bloom_validate_integrity",
"file": "deps/bloom/bloom.c"
},
"deprecated": false,
"id": "CVE-2026-25589-00450983",
"digest": {
"function_hash": "190033199571822192811852476772591499083",
"length": 303.0
},
"signature_type": "Function",
"signature_version": "v1"
},
{
"source": "https://github.com/redisbloom/redisbloom/commit/7aa71f3aed2e7d86b9e39601edf85aa621144258",
"target": {
"function": "TopKRdbLoad",
"file": "src/rm_topk.c"
},
"deprecated": false,
"id": "CVE-2026-25589-1c74d4cf",
"digest": {
"function_hash": "314656162387601471983185512077731945730",
"length": 1091.0
},
"signature_type": "Function",
"signature_version": "v1"
},
{
"source": "https://github.com/redisbloom/redisbloom/commit/7aa71f3aed2e7d86b9e39601edf85aa621144258",
"target": {
"function": "BFRdbLoad",
"file": "src/rebloom.c"
},
"deprecated": false,
"id": "CVE-2026-25589-30ed71ad",
"digest": {
"function_hash": "173614055414527864202728867430187964627",
"length": 1407.0
},
"signature_type": "Function",
"signature_version": "v1"
},
{
"source": "https://github.com/redisbloom/redisbloom/commit/7aa71f3aed2e7d86b9e39601edf85aa621144258",
"target": {
"file": "src/rm_topk.c"
},
"deprecated": false,
"id": "CVE-2026-25589-50436d23",
"digest": {
"line_hashes": [
"176937697900117869843715395238314902503",
"281863561434176182870040821963932259639",
"85693880767897671768638090806818053754",
"239578733413317246596531304415494105645",
"311633727902594047607962681050638246408",
"270348704655263724061894724310991733082",
"243003668030588754374938847895953146123",
"278609602492418172141367131819486319433",
"20458385005186759127599559756662496318",
"195717959336223802810319132375739826748",
"69075852098607868170790623159883558147",
"254163239727585354922281584928107568302",
"101029253356132306290871441398661867063",
"276245708294252468880052669971127494822"
],
"threshold": 0.9
},
"signature_type": "Line",
"signature_version": "v1"
},
{
"source": "https://github.com/redisbloom/redisbloom/commit/7aa71f3aed2e7d86b9e39601edf85aa621144258",
"target": {
"function": "CFRdbLoad",
"file": "src/rebloom.c"
},
"deprecated": false,
"id": "CVE-2026-25589-6a4088d3",
"digest": {
"function_hash": "223530382244079244905041055342807674082",
"length": 1532.0
},
"signature_type": "Function",
"signature_version": "v1"
},
{
"source": "https://github.com/redisbloom/redisbloom/commit/7aa71f3aed2e7d86b9e39601edf85aa621144258",
"target": {
"function": "CMSRdbLoad",
"file": "src/rm_cms.c"
},
"deprecated": false,
"id": "CVE-2026-25589-6c639dae",
"digest": {
"function_hash": "125651629675959477240790569625638194054",
"length": 497.0
},
"signature_type": "Function",
"signature_version": "v1"
},
{
"source": "https://github.com/redisbloom/redisbloom/commit/7aa71f3aed2e7d86b9e39601edf85aa621144258",
"target": {
"file": "deps/bloom/bloom.c"
},
"deprecated": false,
"id": "CVE-2026-25589-7a1c2537",
"digest": {
"line_hashes": [
"128660825712375208709017645689840831410",
"105273354014365898641277172430761292954",
"218241749879155963196996198740217875652",
"247099069310598039611736160188835799986",
"224321526910583892059049840004971587344",
"278747941733769591649655996170750671696",
"116748975856217070561537633951791935159",
"110198337001465839157440848218406656874",
"89139137503643979739241486702079678217",
"95297021399068250642466072591681625743",
"232334382586157866892711157032516440840",
"294686956021835771836081032711448584274"
],
"threshold": 0.9
},
"signature_type": "Line",
"signature_version": "v1"
},
{
"source": "https://github.com/redisbloom/redisbloom/commit/7aa71f3aed2e7d86b9e39601edf85aa621144258",
"target": {
"file": "src/rebloom.c"
},
"deprecated": false,
"id": "CVE-2026-25589-7d460f5c",
"digest": {
"line_hashes": [
"52748390118848728895903804132060843238",
"255127923044160926741737174338773892822",
"81644780528184914603879680775395600147",
"216347188126507376384019466753398216344",
"76007666299853693322029827754013926197",
"148253124812409412701808651942611122553",
"332111093495405273028873188534800340462",
"62815517668640440471316027361722081897",
"39201917812076562480146648265594373733",
"194285213263983487783456481981353433801",
"67325953739970890135661276388843875775",
"107692083859745397549670313229054131660"
],
"threshold": 0.9
},
"signature_type": "Line",
"signature_version": "v1"
},
{
"source": "https://github.com/redisbloom/redisbloom/commit/7aa71f3aed2e7d86b9e39601edf85aa621144258",
"target": {
"file": "src/rm_tdigest.c"
},
"deprecated": false,
"id": "CVE-2026-25589-8b87e311",
"digest": {
"line_hashes": [
"10065263032729503262055990074974723405",
"73644310425968903156228548121024822242",
"127219723596616659003449333269923679574"
],
"threshold": 0.9
},
"signature_type": "Line",
"signature_version": "v1"
},
{
"source": "https://github.com/redisbloom/redisbloom/commit/7aa71f3aed2e7d86b9e39601edf85aa621144258",
"target": {
"function": "TDigestRdbLoad",
"file": "src/rm_tdigest.c"
},
"deprecated": false,
"id": "CVE-2026-25589-93a86295",
"digest": {
"function_hash": "292731040376691661727286932150521225035",
"length": 893.0
},
"signature_type": "Function",
"signature_version": "v1"
},
{
"source": "https://github.com/redisbloom/redisbloom/commit/7aa71f3aed2e7d86b9e39601edf85aa621144258",
"target": {
"file": "src/rm_cms.c"
},
"deprecated": false,
"id": "CVE-2026-25589-bde9672b",
"digest": {
"line_hashes": [
"52875295195178156440941762145596867956",
"52547126659314459027707176083186683340",
"186994724788201235425224511961377207927",
"323338179169988838869612778420414092245",
"312514710730899689926613718881365392645"
],
"threshold": 0.9
},
"signature_type": "Line",
"signature_version": "v1"
}
]