
Cloud Vulnerability DB
A community-led vulnerabilities database
CVE-2026-103484 is an out-of-bounds write vulnerability in the IVFFlat index build functionality of pgvector, a PostgreSQL extension for vector similarity search. It affects all versions of pgvector before 0.8.7 and was disclosed on October 1, 2026, with a fix released simultaneously in version 0.8.7. The vulnerability was reported by Emanuele Barbeno, Cyrill Bannwart, Urs Mueller, and Lukasz D of Compass Security (GitHub Issue). It carries a CVSS v3.1 base score of 8.8 (High) (Github Advisory).
The root cause is improper validation of vector dimensions during IVFFlat index construction (CWE-787: Out-of-bounds Write; CWE-1284: Improper Validation of Specified Quantity in Input). When a database user creates an IVFFlat index and inserts vectors whose declared dimensions do not match the index's expected dimensions, the extension writes data beyond the bounds of the allocated buffer without performing adequate dimension checks. The fix in commit ee00d39 introduced IvfflatCheckDim() and HnswCheckDim() functions that validate vector dimensions against the index metadata at multiple entry points (index build, insert, and scan), and also updated IvfflatGetMetaPageInfo and HnswGetMetaPageInfo to expose stored dimension information for validation (GitHub Commit). The attack vector is network-accessible (AV:N) with low privileges required (PR:L), meaning any authenticated database user with permission to create an IVFFlat index can trigger the vulnerability (Github Advisory).
Successful exploitation allows a low-privileged database user to trigger arbitrary code execution within the PostgreSQL server process context, resulting in high impact to confidentiality, integrity, and availability of the affected system (Github Advisory, Red Hat Bugzilla). An attacker who achieves code execution within the PostgreSQL process could access all data managed by the database server, modify or destroy data, and potentially pivot to other systems accessible from the database host. The scope is limited to the PostgreSQL process itself (Scope: Unchanged), but the total technical impact is classified as high across all three security dimensions (Feedly).
There is no public proof-of-concept exploit code and no evidence of in-the-wild exploitation at the time of disclosure (Feedly). The NVD SSVC assessment classifies exploitation as "none" and the attack as non-automatable, indicating that exploitation requires deliberate, manual action by an authenticated database user. The EPSS score is approximately 0.422%, placing it in the 35th percentile for exploitation probability within 30 days (Github Advisory). The vulnerability is not listed in the CISA Known Exploited Vulnerabilities (KEV) catalog, and no threat actor attribution has been reported.
vector column type provided by the pgvector extension (e.g., CREATE TABLE items (embedding vector(3))).CREATE INDEX statement using the IVFFlat index type on the vector column (e.g., CREATE INDEX ON items USING ivfflat (embedding vector_l2_ops) WITH (lists = 100)).SIGSEGV, SIGBUS) originating from the ivfbuild or ivfinsert code paths; error messages referencing IVFFlat index construction.CREATE INDEX USING ivfflat statements from unexpected or low-privileged users, particularly on tables with mismatched vector dimensions.postgres OS user.The primary remediation is to upgrade pgvector to version 0.8.7 or later, which introduces dimension validation checks at all IVFFlat and HNSW index entry points (GitHub Issue, GitHub Commit). As a workaround for environments that cannot immediately upgrade, restrict the CREATE INDEX privilege to only trusted database users, minimizing the attack surface. Additionally, monitor PostgreSQL logs for unexpected IVFFlat index creation activity from low-privileged accounts (Feedly).
The vulnerability was disclosed responsibly by researchers from Compass Security (Emanuele Barbeno, Cyrill Bannwart, Urs Mueller, and Lukasz D), and the pgvector maintainers released a fix simultaneously with the disclosure (GitHub Issue). The PostgreSQL project published a release announcement for pgvector 0.8.7 covering the fix (PostgreSQL News). A technical blog post titled "The Vector That Lied About Its Dimensions" was published shortly after disclosure, providing additional context on the vulnerability mechanics (TheBuild Blog). Red Hat tracked the issue via Bugzilla and classified it as high severity (Red Hat Bugzilla).
Fix availability across major Linux distributions and their releases.
devel
pgvector
noble
pgvector
noble (esm-apps)
pgvector
resolute
pgvector
resolute (esm-apps)
pgvector
Source: This report was generated using AI
Free Vulnerability Assessment
Evaluate your cloud security practices across 9 security domains to benchmark your risk level and identify gaps in your defenses.
Get a personalized demo
"Best User Experience I have ever seen, provides full visibility to cloud workloads."
"Wiz provides a single pane of glass to see what is going on in our cloud environments."
"We know that if Wiz identifies something as critical, it actually is."