{"id":"CVE-2026-116489","kind":"vulnerability","aliases":["CVE-2026-116489"],"related":[],"title":"pgvectorscale: type confusion lets low-privileged database users corrupt memory","description":"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.","summary":"Timescale pgvectorscale before 0.9.1 can be made to confuse pgvector's vector type by shadowing it with attacker-created objects in the vectorscale schema. A database user with CREATE privilege on that schema can then build and query DiskANN indexes to trigger out-of-bounds reads and writes, leaking memory, crashing the server, or escalating privileges.","severity":"high","cvss":7.7,"epss":null,"exploited":false,"exploited_at":null,"products":[],"ecosystems":[],"tags":["managed-postgres","package","pgvector","pgvectorscale","postgresql","self-hosted"],"not_affected_if":["no-untrusted-db-users","pgvectorscale-0.9.1-or-later"],"how_to_check":"- Check the installed pgvectorscale version with `SELECT extversion FROM pg_extension WHERE extname = 'vectorscale';`\n- List who can create objects in the vectorscale schema with `\\dn+ vectorscale` in psql\n- unknown whether the sources give a specific file or setting to inspect beyond this","fix":"- Upgrade pgvectorscale to `0.9.1` or later\n- Revoke CREATE on the vectorscale schema from untrusted roles until the upgrade is applied","status":"open","published_at":"2026-10-26T16:17:18+00:00","first_seen_at":"2026-10-26T16:31:01+00:00","triaged_at":"2026-10-26T16:32:52+00:00","updated_at":"2026-10-26T16:32:52+00:00","category":"package","confidence":0.6,"triage":{"at":"2026-10-26T16:32:52Z","model":"claude-haiku-5-5","output":{"fix":"- Upgrade pgvectorscale to `0.9.1` or later\n- Revoke CREATE on the vectorscale schema from untrusted roles until the upgrade is applied","reach":"local","title":"pgvectorscale: type confusion lets low-privileged database users corrupt memory","impact":"high","summary":"Timescale pgvectorscale before 0.9.1 can be made to confuse pgvector's vector type by shadowing it with attacker-created objects in the vectorscale schema. A database user with CREATE privilege on that schema can then build and query DiskANN indexes to trigger out-of-bounds reads and writes, leaking memory, crashing the server, or escalating privileges.","category":"package","nicknames":[],"who_cares":["postgresql","pgvector","pgvectorscale","self-hosted","managed-postgres"],"confidence":0.6,"needs_auth":"yes","worst_case":"Attacker reads server memory, crashes the database, or gains elevated privileges.","analyst_note":"Confirm the affected version range and fix commit from the pgvectorscale release notes or the Timescale advisory; the NVD entry gave only the description.","how_to_check":"- Check the installed pgvectorscale version with `SELECT extversion FROM pg_extension WHERE extname = 'vectorscale';`\n- List who can create objects in the vectorscale schema with `\\dn+ vectorscale` in psql\n- unknown whether the sources give a specific file or setting to inspect beyond this","needs_analyst":true,"not_affected_if":["pgvectorscale-0.9.1-or-later","no-untrusted-db-users"],"who_is_affected":"Teams running pgvectorscale below 0.9.1 in PostgreSQL, usually alongside pgvector for vector search. Exposure depends on whether non-admin database users hold CREATE privilege on the vectorscale schema, since that is what lets them plant shadowing objects. Systems where only trusted administrators can create objects in the database are much less exposed.","user_interaction":"no","needs_special_setup":"yes","severity_if_unknown":"high"},"cost_usd":0.000699,"input_tokens":3371,"output_tokens":724,"severity_before":"high"},"analyst_status":null,"analyst_note":null,"search":"'-116489':14A,17A '-2026':13A,16A '0.9.1':31B,89C 'allow':96C 'attack':46B,113C 'attacker-cr':45B 'bound':74B,141C 'build':64B,128C 'caus':137C 'confus':3A,36B,93C 'contain':90C 'corrupt':10A,103C 'craft':134C 'crash':80B,147C 'creat':47B,57B,115C,124C 'cve':12A,15A 'databas':8A,54B,100C 'disclos':145C 'diskann':67B,131C 'escal':84B,151C 'host':27B 'index':68B,132C 'leak':78B 'let':4A 'low':6A,98C 'low-privileg':5A,97C 'made':34B 'manag':19B 'managed-postgr':18B 'memori':11A,79B,104C,146C 'object':48B,126C 'oper':112C 'out-of-bound':71B,138C 'packag':21B 'pgvector':22B,37B,107C 'pgvectorscal':1A,23B,29B,87C 'postgr':20B 'postgresql':24B 'pre':123C 'pre-creat':122C 'privileg':7A,58B,85B,99C,116C,152C 'queri':66B,130C 'read':75B,142C 'schema':52B,61B,120C 'self':26B 'self-host':25B 'server':82B,149C 'shadow':42B,106C,125C 'timescal':28B,86C 'trigger':70B 'type':2A,40B,92C,110C 'user':9A,55B,101C 'valu':135C 'vector':39B,109C 'vectorscal':51B,119C 'vulner':94C 'write':77B,144C","nicknames":[],"mitigations":[],"who_affected":"Teams running pgvectorscale below 0.9.1 in PostgreSQL, usually alongside pgvector for vector search. Exposure depends on whether non-admin database users hold CREATE privilege on the vectorscale schema, since that is what lets them plant shadowing objects. Systems where only trusted administrators can create objects in the database are much less exposed.","tier":"B","verified":{},"analyst_revisit_at":null,"first_public_at":"2026-10-26T16:17:18+00:00","kev":null,"cvss_vector":"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/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X","cvss_by":"disclosure@vulncheck.com","poc_count":0,"sources":[{"source":"nvd","external_id":"CVE-2026-116489","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-116489","severity":null,"published_at":"2026-10-26T16:17:18+00:00","modified_at":"2026-10-26T16:17:18+00:00","first_seen_at":"2026-10-26T16:31:01+00:00","fetched_at":"2026-10-26T16:31:01+00:00","note":null}],"documents":[],"notice":"Free to read at a human pace. An API with keys and an MCP server are in preparation; early access: hello@infrastack.ai"}