Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessAuthenticate as low-privileged DB user
-
DeliveryPre-create shadow vector type/operators in vectorscale schema
-
ExploitBuild and query DiskANN index over crafted values
-
ExecutionTrigger type confusion out-of-bounds read/write
-
ImpactDisclose memory, crash server, or escalate privileges
Vulnerability Assessment
| Weakness |
CWE
ASVS 5.0
V15 - Secure Coding and Architecture Type safety enforcement
MITRE ATT&CK
1 technique across 1 tactic: Execution The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Exploitation requires an authenticated database account (PR:L) that holds CREATE privilege on the vectorscale schema, which lets the attacker pre-create shadow objects shadowing pgvector's vector type or operators; the attacker must then build and query a DiskANN index over crafted values to drive the type confusion. Limiting factors: the attacker must already have a database login and specifically CREATE on the vectorscale schema (not granted to unprivileged users under default/locked-down PostgreSQL 15+ schema permissions); both pgvector and pgvectorscale (before 0.9.1) must be installed; and the AT:P/AC:H metrics indicate a specific attack requirement and non-trivial preconditions must be satisfied rather than a single unconditional request. This is not remote-unauthenticated exploitation against a default install. |
| Impact | The source-provided CVSS 4.0 base score is 7.7 (High) with vector AV:N/AC:H/AT:P/PR:L/UI:N and full VC:H/VI:H/VA:H impact confined to the vulnerable system (SC/SI/SA:N). Several signals temper the raw severity: the vector requires an authenticated low-privileged database user (PR:L), carries high attack complexity (AC:H) and a present attack requirement (AT:P), meaning this is not remote-unauthenticated mass-exploitable code. The practical threat model is an existing, low-trust database principal escalating privileges, disclosing server memory, or crashing the PostgreSQL backend (DoS) - an insider/tenant abuse scenario rather than internet-wide drive-by. No EPSS score is provided in the input, the CVE is not listed in CISA KEV, and no public exploit is identified in the references (the VulnCheck advisory and GitHub source-line links are analysis/patch references, not a working exploit). The vuln.today decision label is 'this_week', which aligns with a real-but-not-emergency priority: patch promptly, but this is not an act_now/emergency situation. Net: a genuine privilege-escalation/memory-corruption flaw that matters most in multi-tenant or shared PostgreSQL deployments where untrusted users hold CREATE on the vectorscale schema; the elevated CVSS is offset by the authentication requirement and high complexity, so it is a legitimate but bounded priority rather than a critical fire. |
| Exploit ScenarioDerived | A low-privileged database user who holds CREATE privilege on the vectorscale schema pre-creates shadow objects that shadow pgvector's vector type or operators, then builds and queries a DiskANN index over crafted values. The resulting type confusion (CWE-843) triggers out-of-bounds reads and writes in the PostgreSQL backend process, letting the attacker disclose server memory, crash the server, or escalate privileges. No public exploit is identified at time of analysis, and the high attack complexity (AC:H) plus attack requirement (AT:P) mean exploitation is not trivial. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 26, 2026
Type confusion in Timescale's pgvectorscale extension (all versions before 0.9.1) lets a low-privileged database user who holds CREATE on the vectorscale schema pre-create shadow objects that impersonate pgvector's vector type or operators, then build and query a DiskANN index over crafted values to drive out-of-bounds reads and writes. Successful exploitation can disclose process memory, crash the PostgreSQL server, or escalate privileges within the database; both pgvector and a vulnerable pgvectorscale build must be installed, and the source CVSS 4.0 score of 7.7 reflects full confidentiality, integrity and availability impact confined to the vulnerable system. No public exploit code has been identified at time of analysis and the issue is not in CISA KEV; the vendor-priority decision is 'this_week' and fixed builds ship in 0.9.1.
RemediationAI
Vendor-released patch: 0.9.1. Upgrade pgvectorscale to 0.9.1 and run the extension upgrade (the release ships chained upgrade scripts from every prior version through vectorscale--0.9.0--0.9.1.sql, which recreate the amhandler and operator functions against the new vectorscale-0.9.1 library); restart or reconnect backends so the new shared library is loaded. The fix is carried by pull request https://github.com/timescale/pgvectorscale/pull/280 and commits 1c7cb1cab919ac122f901f163a71f69a264a8f81, 59d2f573dbd7a1446728ac547576d22f5b05cfaa and f42f8cf29c92111add863ccf3255b3bf23fb51cd. Until upgrading is possible, the exposure is gated entirely on the CREATE privilege on the vectorscale schema, so revoke CREATE on that schema (and on schemas earlier in the resolution path) from roles that do not need it, which removes the prerequisite for planting shadow objects at the cost of those roles no longer being able to create objects there; note that this is a prerequisite reduction, not a complete fix, and that the vendor's patched release remains the only complete remedy. Advisory: https://www.vulncheck.com/advisories/timescale-pgvectorscale-before-0.9.1-type-confusion-via-unqualified-diskann-operator-classes.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
pgvectorscale is a Rust PostgreSQL extension (built with pgrx) that adds the DiskANN approximate-nearest-neighbour index access method on top of pgvector. The flaw is CWE-843, type confusion: the extension resolves the vector type and its distance/support operators by unqualified name, so a role able to create objects ahead of the legitimate ones in the resolution path can substitute its own definitions (the source references point at access_method/mod.rs, access_method/pg_vector.rs and access_method/build.rs in the 0.9.0 tree, where these lookups occur). Once the index is built and queried over attacker-supplied values, the extension treats the shadowed datum as if it were a genuine pgvector value, producing out-of-bounds reads and writes in the server process. Because the affected code runs inside the PostgreSQL backend, memory corruption translates directly into data disclosure, backend crashes and potential privilege escalation. The 0.9.1 fix hardens these lookups and is delivered as an extension upgrade: the release adds migration scripts (vectorscale--0.0.2--0.9.1.sql through vectorscale--0.9.0--0.9.1.sql) that recreate the amhandler, distance-type functions and helper functions against the new 'vectorscale-0.9.1' library, and bumps the lru dependency from 0.14.0 to 0.16.3.
Know when Pgvectorscale gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
CVSS:4.0/AV:N/AC:H/AT:P/PR:L/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N
Reachable over a normal network DB connection (AV:N) but requires a low-privileged user with CREATE on the vectorscale schema (PR:L) and specific shadow-object preconditions (AC:H); full memory C/I/A impact within the server process, no scope change.
Primary rating from Vendor (VulnCheck).
CVSS VectorVendor: VulnCheck
DescriptionCVE.org
Timescale pgvectorscale before 0.9.1 contains a type confusion vulnerability that allows low-privileged database users to corrupt memory by shadowing pgvector's vector type or operators. Attackers with CREATE privilege on the vectorscale schema can pre-create shadow objects, then build and query DiskANN indexes over crafted values to cause out-of-bounds reads and writes, disclosing memory, crashing the server, or escalating privileges.
Executive ViewAI
A high-severity type-confusion flaw in the pgvectorscale PostgreSQL extension (versions before 0.9.1) could allow a low-privileged database user to read process memory, crash the database server, or escalate their privileges within the database. Organizations running Timescale with pgvector and pgvectorscale are exposed, which could mean data disclosure, service disruption, and unauthorized access to sensitive data stores. Security leadership should prioritize remediation this week given the vendor's 'this_week' urgency rating and the potential for lateral privilege escalation inside production databases.
Apply vendor patch (upgrade to pgvectorscale 0.9.1); and until complete, revoke CREATE on the vectorscale schema from low-privileged users and limit it to trusted roles.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Privilege escalation occurs when an attacker leverages flaws in access control mechanisms to gain permissions beyond what they were originally granted.
Memory corruption occurs when a program writes data beyond the boundaries of allocated memory regions or accesses memory in unintended ways, violating the integrity of the process's address space.
Denial of Service attacks render applications or systems unavailable by overwhelming resources or triggering failure conditions.
EUVD-2026-109907
GHSA-p9m3-8942-gxhh
NVD
CVE.org
EPSS
Exploit-DB