TanStack DB
CVE-2026-15607
LOW
Severity by source
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:N/VI:L/VA:N/SC:N/SI:N/SA:N/E:P/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
Network-reachable via query API (AV:N), no special conditions (AC:L), requires low-privilege query access per PR:L in 4.0 vector; scope unchanged (S:U) and impact limited to low integrity per 4.0 VC:N/VI:L/VA:N.
Primary rating from Vendor (VulDB).
CVSS VectorVendor: VulDB
Lifecycle Timeline
7DescriptionCVE.org
A vulnerability was detected in tanstack db up to 0.6.8. Affected by this vulnerability is the function select of the file src/query/compiler/select.ts of the component Alias Path Handler. The manipulation results in improperly controlled modification of object prototype attributes. The attack may be launched remotely. The exploit is now public and may be used. The patch is identified as ac09b1177a100eafa85cba3cd09dd1f53f933ded. A patch should be applied to remediate this issue.
AnalysisAI
Prototype pollution in TanStack DB's select() query compiler allows low-privileged remote attackers to mutate Object.prototype by supplying dot-notation alias paths containing reserved JavaScript property names such as __proto__, prototype, or constructor. Versions up to 0.6.8 are confirmed affected via CPE cpe:2.3:a:tanstack:db. A publicly available exploit exists (GitHub issue #1584), though the vulnerability is not in CISA KEV. The CVSS 4.0 base score of 2.1 reflects low integrity impact scoped to the vulnerable system, but the downstream consequences of Object.prototype mutation in JavaScript runtimes can exceed what raw scoring conveys depending on application logic.
Technical ContextAI
TanStack DB is a JavaScript/TypeScript reactive database library. The vulnerable component is the select() query compiler in packages/db/src/query/compiler/select.ts, specifically the Alias Path Handler. CWE-1321 (Improperly Controlled Modification of Object Prototype Attributes) describes the root cause: alias keys supplied to select() are split on '.' and their segments are walked into the result object without checking for reserved JavaScript prototype chain keywords. A crafted alias such as '__proto__.polluted' or 'constructor.prototype.polluted' causes the segment traversal to write directly onto Object.prototype, poisoning the global prototype chain for the entire JavaScript runtime. The fix introduced a blocklist (UNSAFE_ALIAS_SEGMENTS = {'__proto__', 'prototype', 'constructor'}) enforced by a new assertSafeAliasSegments() guard applied in processMerge, processNonMergeOp, and addFromObject, throwing UnsafeAliasPathError on violation. CPE confirms the affected scope as cpe:2.3:a:tanstack:db:*:*:*:*:*:*:*:* up to 0.6.8.
RemediationAI
Apply the patch from GitHub commit ac09b1177a100eafa85cba3cd09dd1f53f933ded (PR #1595 at https://github.com/TanStack/db/pull/1595) by upgrading @tanstack/db to the next patch release beyond 0.6.8; the changeset tags this fix as a patch-level release, but the exact tagged version is not confirmed in the available data - verify the current release tag in the npm registry or GitHub releases. If an immediate upgrade is not possible, the primary compensating control is to restrict access to the select() query API to fully trusted callers only, preventing untrusted input from reaching the alias path handler. Sanitizing alias keys at the application boundary before passing them to select() (rejecting keys containing __proto__, prototype, or constructor segments) is an additional defense-in-depth measure, though this duplicates what the patch implements internally. There are no known side effects of the upstream fix beyond queries using unsafe alias segments now throwing UnsafeAliasPathError instead of silently mutating the prototype.
More in Prototype Pollution
View allPrototype pollution in Adobe Acrobat Reader versions 24.001.30356, 26.001.21367 and earlier enables arbitrary code execu
Prototype pollution in the farinspace Partners WordPress plugin (versions up to and including 0.2.0) enables remote unau
Prototype pollution vulnerability in 'deephas' versions 1.0.0 through 1.0.5 allows attacker to cause a denial of service
A Prototype Pollution issue in Cronvel Tree-kit v.0.7.4 and before allows a remote attacker to execute arbitrary code vi
A Prototype Pollution issue in Aliconnect /sdk v.0.0.6 allows an attacker to execute arbitrary code via the aim function
All versions of the package safe-eval are vulnerable to Prototype Pollution via the safeEval function, due to improper s
This affects the package vm2 before 3.9.4 via a Prototype Pollution attack vector, which can lead to execution of arbitr
Prototype Pollution in chargeover redoc v2.0.9-rc.69 allows attackers to execute arbitrary code or cause a Denial of Ser
alizeait unflatto <= 1.0.2 was discovered to contain a prototype pollution via the method exports.unflatto at /dist/inde
A vulnerability exists in the 'dagre-d3-es' Node.js package version 7.0.9, specifically within the 'bk' module's addConf
A Prototype Pollution vulnerability in the util-deps.addFileDepend function of magix-combine-ex versions thru 1.2.10 all
Chartist 1.x through 1.3.0 allows Prototype Pollution via the extend function. Rated critical severity (CVSS 9.8), this
Same technique Information Disclosure
View allShare
External POC / Exploit Code
Leaving vuln.today