| 标题 | Node.js @tanstack/db 0.6.8 Prototype Pollution |
|---|
| 描述 | `@tanstack/db` is vulnerable to prototype pollution through public query APIs.
The root package entry exports `queryOnce`, `createCollection`, and `localOnlyCollectionOptions`. A caller can pass an alias containing prototype-pollution path segments to `select()`, such as `__proto__.tanstackPolluted`.
During query compilation, `src/query/compiler/select.ts` processes select aliases as dot-separated nested paths. The alias is split with `alias.split('.')`, and each segment is used to build nested objects in the query result. Dangerous segments such as `__proto__`, `constructor`, and `prototype` are not filtered. When the first segment is `__proto__`, the write cursor can resolve to `Object.prototype`, causing the next assignment to pollute the global object prototype. |
|---|
| 来源 | ⚠️ https://github.com/TanStack/db/issues/1584 |
|---|
| 用户 | Dremig (UID 95003) |
|---|
| 提交 | 2026-06-11 05時12分 (1 月前) |
|---|
| 管理 | 2026-07-13 17時40分 (1 month later) |
|---|
| 状态 | 已接受 |
|---|
| VulDB条目 | 378115 [tanstack db 直到 0.6.8 Alias Path select.ts select] |
|---|
| 积分 | 20 |
|---|