Skip to main content

pgvectorscale EUVDEUVD-2026-109907

| CVE-2026-116489 HIGH
Access of Resource Using Incompatible Type (Type Confusion) (CWE-843)
2026-10-26 VulnCheck GHSA-p9m3-8942-gxhh
7.7
CVSS 4.0 · Vendor: VulnCheck
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Authenticate as low-privileged DB user
  2. Delivery
    Pre-create shadow vector type/operators in vectorscale schema
  3. Exploit
    Build and query DiskANN index over crafted values
  4. Execution
    Trigger type confusion out-of-bounds read/write
  5. Impact
    Disclose 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.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
Patch available 0.5% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – 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

pgvectorscale 0 <0.9.1

Affected Packages

euvd pgvectorscale fix: 0.9.1

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

Vendor (VulnCheck) PRIMARY 7.7 HIGH
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
vuln.today AI 7.5 HIGH

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.

3.1 AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H
4.0 AV:N/AC:H/AT:P/PR:L/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N

Primary rating from Vendor (VulnCheck).

CVSS VectorVendor: VulnCheck

Attack Vector
Network
Attack Complexity
High
Attack Requirements
Present
Privileges Required
Low
User Interaction
None
Vulnerable system: Confidentiality
High
Vulnerable system: Integrity
High
Vulnerable system: Availability
High
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

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

Why It Matters

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.

Business Impact: High
Compensating Controls

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

EPSS Score
0.5%
Top 58% exploitable
Prevalence
Low
niche PostgreSQL vector-search extension, limited production footprint
Data Quality
4 sources
Confidence: Medium

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.

SignalValue
Severity HIGH
CISA KEV No
Public POC No
EPSS 0.5%
Patch available Yes
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Scheduled
Exploitation· derived
None
System Exposure· derived
Open
Automatable· derived
No
Human Impact
High

Priority Score

38
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +38
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

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.

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy