{"id":"CVE-2026-18022","summary":"pgvector buffer overflow via integer wraparound in IVFFlat index build on 32-bit systems","details":"Integer wraparound in IVFFlat index build in pgvector before 0.8.6 allows a database user to write data out-of-bounds, which could lead to arbitrary code execution. Only 32-bit systems are affected.","modified":"2026-08-22T09:15:40.773152Z","published":"2026-07-29T18:55:54.658Z","database_specific":{"cna_assigner":"PostgreSQL","cwe_ids":["CWE-190","CWE-787"],"osv_generated_from":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/18xxx/CVE-2026-18022.json"},"references":[{"type":"ADVISORY","url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/18xxx/CVE-2026-18022.json"},{"type":"ADVISORY","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-18022"},{"type":"REPORT","url":"https://github.com/pgvector/pgvector/issues/1006"},{"type":"FIX","url":"https://github.com/pgvector/pgvector/commit/636a92a3395d2e036ffd40d07aeb400a708ae104"}],"affected":[{"ranges":[{"type":"GIT","repo":"https://github.com/pgvector/pgvector","events":[{"introduced":"0"},{"fixed":"8ee86c96f0fd72390f890aa8a336fda6d3ab4c6c"},{"fixed":"636a92a3395d2e036ffd40d07aeb400a708ae104"}],"database_specific":{"extracted_events":[{"introduced":"0"},{"fixed":"0.8.6"}],"source":["CPE_RANGE","REFERENCES"],"cpe":"cpe:2.3:a:pgvector_project:pgvector:*:*:*:*:*:postgresql:*:*"}}],"versions":["v0.8.5","v0.8.4","v0.8.3","v0.8.2","v0.8.1","v0.8.0","v0.7.4","v0.7.3","v0.7.2","v0.7.1","v0.7.0","v0.6.2","v0.6.1","v0.6.0","v0.5.1","v0.5.0","v0.4.4","v0.4.3","v0.4.2","v0.4.1","v0.4.0","v0.3.2","v0.3.1","v0.3.0","v0.2.7","v0.2.6","v0.2.5","v0.2.4","v0.2.3","v0.2.2","v0.2.1","v0.2.0","v0.1.8","v0.1.7","v0.1.6","v0.1.5","v0.1.4","v0.1.3","v0.1.2","v0.1.1","v0.1.0"],"database_specific":{"source":"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-18022.json","vanir_signatures_modified":"2026-08-22T09:15:40Z","vanir_signatures":[{"deprecated":false,"digest":{"function_hash":"329085292504724943918461616904557508252","length":4100},"id":"CVE-2026-18022-5ec89c57","signature_type":"Function","signature_version":"v1","source":"https://github.com/pgvector/pgvector/commit/636a92a3395d2e036ffd40d07aeb400a708ae104","target":{"function":"ElkanKmeans","file":"src/ivfkmeans.c"}},{"digest":{"line_hashes":["254106014391857788056050272837023107210","34496893817453625261447123547990150478","145370114312184736124763071630652976056","306171363503326756789907812980681882020"],"threshold":0.9},"id":"CVE-2026-18022-ceedddd2","signature_type":"Line","signature_version":"v1","source":"https://github.com/pgvector/pgvector/commit/8ee86c96f0fd72390f890aa8a336fda6d3ab4c6c","target":{"file":"src/vector.c"},"deprecated":false},{"digest":{"threshold":0.9,"line_hashes":["213476760492371781744053316340842841286","260683006695781656823042648565548588297","153625410147375798832024934637607756089","141959024548119317922716273957587397085","68683923418509379215548593895653225396","224638568996935360512912174812753397697","145272983797897247744597925152620362663","2772089553074562554442941599667296853","159118468369887291904664309946890710708","257822789843458663749238089775594790135","53989657463159054242802811260456382351","37296551765579248738226793543615980269"]},"id":"CVE-2026-18022-d21979f2","signature_type":"Line","signature_version":"v1","source":"https://github.com/pgvector/pgvector/commit/636a92a3395d2e036ffd40d07aeb400a708ae104","target":{"file":"src/ivfkmeans.c"},"deprecated":false}]}}],"schema_version":"1.9.0","severity":[{"type":"CVSS_V3","score":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H"}]}