{"api_version":"1","generated_at":"2026-11-09T15:51:08+00:00","cve":"CVE-2026-124959","urls":{"html":"https://cve.report/CVE-2026-124959","api":"https://cve.report/api/cve/CVE-2026-124959.json","docs":"https://cve.report/api","cve_org":"https://www.cve.org/CVERecord?id=CVE-2026-124959","nvd":"https://nvd.nist.gov/vuln/detail/CVE-2026-124959"},"summary":{"title":"Nmaslib Hnswlib and Spotify Voyager HNSW Index Deserialization Heap Out-of-Bounds Write","description":"The loadIndex function in nmslib hnswlib and Spotify Voyager does not verify that the element count in a serialized HNSW index is within the stored capacity used to allocate the heap buffer. An attacker can supply a crafted index file with an element count greater than the stored capacity, causing the loader to write beyond the allocated buffer and potentially crash the application when it loads the file.","state":"PUBLISHED","assigner":"certcc","published_at":"2026-11-09 15:17:19","updated_at":"2026-11-09 15:17:19"},"problem_types":["CWE-787 Out-of-bounds Write"],"metrics":[],"references":[{"url":"https://m00dy.sh/notes/when-an-hnsw-index-lies-about-its-capacity","name":"https://m00dy.sh/notes/when-an-hnsw-index-lies-about-its-capacity","refsource":"cret@cert.org","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://github.com/nmslib/hnswlib","name":"https://github.com/nmslib/hnswlib","refsource":"cret@cert.org","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://github.com/spotify/voyager","name":"https://github.com/spotify/voyager","refsource":"cret@cert.org","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://www.cve.org/CVERecord?id=CVE-2026-124959","name":"CVE Program record","refsource":"CVE.ORG","tags":["canonical"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-124959","name":"NVD vulnerability detail","refsource":"NVD","tags":["canonical","analysis"]}],"affected":[{"source":"CNA","vendor":"Spotify","product":"Voyager","version":"affected 2.0.7 2.1.1 custom","platforms":[]},{"source":"CNA","vendor":"hnswlib","product":"hnswlib","version":"affected 0.5.0 0.9.0 custom","platforms":[]}],"timeline":[],"solutions":[],"workarounds":[],"exploits":[],"credits":[],"nvd_cpes":[],"vendor_comments":[],"enrichments":{"kev":null,"epss":null,"legacy_qids":[]},"source_records":{"cve_program":{"containers":{"cna":{"affected":[{"product":"Voyager","vendor":"Spotify","versions":[{"lessThanOrEqual":"2.1.1","status":"affected","version":"2.0.7","versionType":"custom"}]},{"product":"hnswlib","vendor":"hnswlib","versions":[{"lessThanOrEqual":"0.9.0","status":"affected","version":"0.5.0","versionType":"custom"}]}],"descriptions":[{"lang":"en","value":"The loadIndex function in nmslib hnswlib and Spotify Voyager does not verify that the element count in a serialized HNSW index is within the stored capacity used to allocate the heap buffer. An attacker can supply a crafted index file with an element count greater than the stored capacity, causing the loader to write beyond the allocated buffer and potentially crash the application when it loads the file."}],"problemTypes":[{"descriptions":[{"description":"CWE-787 Out-of-bounds Write","lang":"en"}]}],"providerMetadata":{"dateUpdated":"2026-11-09T15:04:38.649Z","orgId":"37e5125f-f79b-445b-8fad-9564f167944b","shortName":"certcc"},"references":[{"url":"https://m00dy.sh/notes/when-an-hnsw-index-lies-about-its-capacity"},{"url":"https://github.com/nmslib/hnswlib"},{"url":"https://github.com/spotify/voyager"}],"source":{"discovery":"UNKNOWN"},"title":"Nmaslib Hnswlib and Spotify Voyager HNSW Index Deserialization Heap Out-of-Bounds Write","x_generator":{"engine":"VINCE 4.0.2","env":"prod","origin":"https://cveawg.mitre.org/api/cve/CVE-2026-124959"}}},"cveMetadata":{"assignerOrgId":"37e5125f-f79b-445b-8fad-9564f167944b","assignerShortName":"certcc","cveId":"CVE-2026-124959","datePublished":"2026-11-09T15:04:38.649Z","dateReserved":"2026-11-09T15:02:37.082Z","dateUpdated":"2026-11-09T15:04:38.649Z","state":"PUBLISHED"},"dataType":"CVE_RECORD","dataVersion":"5.2"},"nvd":{"publishedDate":"2026-11-09 15:17:19","lastModifiedDate":"2026-11-09 15:17:19","problem_types":["CWE-787 Out-of-bounds Write"],"metrics":[],"configurations":[]},"legacy_mitre":{"record":{"CveYear":"2026","CveId":"124959","Ordinal":"1","Title":"Nmaslib Hnswlib and Spotify Voyager HNSW Index Deserialization H","CVE":"CVE-2026-124959","Year":"2026"},"notes":[{"CveYear":"2026","CveId":"124959","Ordinal":"1","NoteData":"The loadIndex function in nmslib hnswlib and Spotify Voyager does not verify that the element count in a serialized HNSW index is within the stored capacity used to allocate the heap buffer. An attacker can supply a crafted index file with an element count greater than the stored capacity, causing the loader to write beyond the allocated buffer and potentially crash the application when it loads the file.","Type":"Description","Title":"Nmaslib Hnswlib and Spotify Voyager HNSW Index Deserialization H"}]}}}