{"id":"CVE-2026-54687","aliases":["EUVD-2026-67158","GHSA-q7m3-rhxg-7vxr"],"status":"published","title":"n8n-nodes-sqlite3: Path traversal via user-controlled database file path (db_path parameter)","description":"n8n-nodes-sqlite3 is a node for operating a local SQLite database from n8n. Prior to 1.0.0, nodes/SqliteNode/v1/SqliteV1.node.ts exposes the db_path database file path as a node parameter that permits data expressions from upstream workflow input. A workflow author who maps untrusted input to db_path can allow a remote attacker to select which SQLite file the n8n process opens, enabling traversal outside the intended database location and potentially reading, creating, or overwriting files accessible to the process. This issue is fixed in version 1.0.0.","severity":{"version":"4.0","score":6.1,"vector":"CVSS:4.0/AV:N/AC:H/AT:P/PR:N/UI:P/VC:L/VI:L/VA:H/SC:N/SI:N/SA:N","level":"medium","assessor":"cna","from":"cve"},"epss":{"day":"2026-11-12","score":0.00788,"percentile":0.56698,"model":"v2026.06.15"},"facts":{"in_kev":false,"known_exploited":false,"public_exploit":false,"fix_available":true},"cwes":["CWE-22"],"published":"2026-08-27T17:06:40Z","modified":"2026-10-28T02:30:24Z","fixes":[{"ecosystem":"npm","package":"n8n-nodes-sqlite3","fixed_in":["1.0.0"],"sources":["ghsa","osv"]}],"affected":[{"source":"ghsa","ecosystem":"npm","package":"n8n-nodes-sqlite3","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.0.0"}]}]},{"source":"osv","ecosystem":"npm","package":"n8n-nodes-sqlite3","ranges":[{"type":"SEMVER","events":[{"introduced":"0"},{"fixed":"1.0.0"}]}]}],"products":[{"vendor":"dangerblack","product":"n8n-node-sqlite3"}],"references":[{"url":"https://github.com/DangerBlack/n8n-node-sqlite3/security/advisories/GHSA-q7m3-rhxg-7vxr","tags":["x_refsource_CONFIRM","Patch","Vendor Advisory","advisory","web"]},{"url":"https://github.com/DangerBlack/n8n-node-sqlite3/pull/25","tags":["x_refsource_MISC","Issue Tracking","fix","web"]},{"url":"https://github.com/DangerBlack/n8n-node-sqlite3/commit/145a8876ff12375813bdcd4ae4fe78f460c53a98","tags":["x_refsource_MISC","Patch","fix","web"]},{"url":"https://github.com/advisories/GHSA-q7m3-rhxg-7vxr"},{"url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/54xxx/CVE-2026-54687.json","tags":["advisory"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-54687","tags":["advisory"]},{"url":"https://github.com/DangerBlack/n8n-node-sqlite3","tags":["package"]}],"sources":{"cve":[{"id":"CVE-2026-54687","title":"n8n-nodes-sqlite3: Path traversal via user-controlled database file path (db_path parameter)","description":"n8n-nodes-sqlite3 is a node for operating a local SQLite database from n8n. Prior to 1.0.0, nodes/SqliteNode/v1/SqliteV1.node.ts exposes the db_path database file path as a node parameter that permits data expressions from upstream workflow input. A workflow author who maps untrusted input to db_path can allow a remote attacker to select which SQLite file the n8n process opens, enabling traversal outside the intended database location and potentially reading, creating, or overwriting files accessible to the process. This issue is fixed in version 1.0.0.","status":"published","published":"2026-08-27T17:06:40.278Z","modified":"2026-08-28T18:05:12.764Z","cvss":[{"version":"4.0","score":6.1,"vector":"CVSS:4.0/AV:N/AC:H/AT:P/PR:N/UI:P/VC:L/VI:L/VA:H/SC:N/SI:N/SA:N","level":"medium","assessor":"cna"}],"cwes":["CWE-22"],"updated_at":"2026-11-02T13:38:09.774038Z"}],"euvd":[{"id":"EUVD-2026-67158","description":"n8n-nodes-sqlite3 is a node for operating a local SQLite database from n8n. Prior to 1.0.0, nodes/SqliteNode/v1/SqliteV1.node.ts exposes the db_path database file path as a node parameter that permits data expressions from upstream workflow input. A workflow author who maps untrusted input to db_path can allow a remote attacker to select which SQLite file the n8n process opens, enabling traversal outside the intended database location and potentially reading, creating, or overwriting files accessible to the process. This issue is fixed in version 1.0.0.","status":"published","published":"2026-08-27T17:06:40Z","modified":"2026-08-28T18:05:12Z","cvss":[{"version":"4.0","score":6.1,"vector":"CVSS:4.0/AV:N/AC:H/AT:P/PR:N/UI:P/VC:L/VI:L/VA:H/SC:N/SI:N/SA:N","level":"medium"}],"updated_at":"2026-11-02T18:01:22.759915Z"}],"ghsa":[{"id":"GHSA-q7m3-rhxg-7vxr","title":"n8n-nodes-sqlite3 vulnerable to path traversal via user-controlled database file path (db_path parameter)","description":"## Affected versions\n\u003c 1.0.0\n\n## Patched version\n1.0.0\n\n## Description\nIn versions prior to 1.0.0, the SQLite node accepted the database file\npath as a direct node parameter visible and editable in the workflow.\nA workflow author who mapped untrusted user input to the db_path field\ncould allow an attacker to control which file was opened by SQLite,\npotentially enabling path traversal to read or overwrite arbitrary\nfiles accessible to the n8n process.\n\nThe vulnerability requires the workflow author to explicitly wire\nuntrusted input to the db_path parameter, so it does not affect\nstandalone deployments where only trusted users author workflows.\nHowever, in multi-tenant or user-facing n8n deployments the risk\nis elevated.\n\nFixed in v1.0.0 by moving the database path into a credential\n(v2 node architecture), which is stored server-side and not\ncontrollable by workflow input data.\n\n## References\n- Fix commit: 145a887\n- Introduced credential-based path: v2 node\n\n## Credits\ndyingman1 (role: Reporter)","status":"published","published":"2026-08-27T17:06:55Z","modified":"2026-08-27T17:06:56Z","cvss":[{"version":"4.0","score":6.1,"vector":"CVSS:4.0/AV:N/AC:H/AT:P/PR:N/UI:P/VC:L/VI:L/VA:H/SC:N/SI:N/SA:N","level":"medium"}],"cwes":["CWE-22"],"updated_at":"2026-11-02T14:41:07.031507Z"}],"nvd":[{"id":"CVE-2026-54687","description":"n8n-nodes-sqlite3 is a node for operating a local SQLite database from n8n. Prior to 1.0.0, nodes/SqliteNode/v1/SqliteV1.node.ts exposes the db_path database file path as a node parameter that permits data expressions from upstream workflow input. A workflow author who maps untrusted input to db_path can allow a remote attacker to select which SQLite file the n8n process opens, enabling traversal outside the intended database location and potentially reading, creating, or overwriting files accessible to the process. This issue is fixed in version 1.0.0.","status":"published","published":"2026-08-27T20:17:49.5Z","modified":"2026-09-23T16:24:30.74Z","cvss":[{"version":"4.0","score":6.1,"vector":"CVSS:4.0/AV:N/AC:H/AT:P/PR:N/UI:P/VC:L/VI:L/VA:H/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X","level":"medium","assessor":"secondary"},{"version":"3.1","score":9.8,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","level":"critical","assessor":"primary"}],"cwes":["CWE-22"],"updated_at":"2026-11-02T14:12:42.035353Z"}],"osv":[{"id":"CVE-2026-54687","title":"n8n-nodes-sqlite3: Path traversal via user-controlled database file path (db_path parameter)","description":"n8n-nodes-sqlite3 is a node for operating a local SQLite database from n8n. Prior to 1.0.0, nodes/SqliteNode/v1/SqliteV1.node.ts exposes the db_path database file path as a node parameter that permits data expressions from upstream workflow input. A workflow author who maps untrusted input to db_path can allow a remote attacker to select which SQLite file the n8n process opens, enabling traversal outside the intended database location and potentially reading, creating, or overwriting files accessible to the process. This issue is fixed in version 1.0.0.","status":"published","published":"2026-08-27T17:06:40.278Z","modified":"2026-10-28T02:30:24.423532611Z","cvss":[{"version":"4.0","score":6.1,"vector":"CVSS:4.0/AV:N/AC:H/AT:P/PR:N/UI:P/VC:L/VI:L/VA:H/SC:N/SI:N/SA:N","level":"medium"}],"cwes":["CWE-22"],"updated_at":"2026-11-02T15:45:10.818486Z"},{"id":"GHSA-q7m3-rhxg-7vxr","title":"n8n-nodes-sqlite3 vulnerable to path traversal via user-controlled database file path (db_path parameter)","description":"## Affected versions\n\u003c 1.0.0\n\n## Patched version\n1.0.0\n\n## Description\nIn versions prior to 1.0.0, the SQLite node accepted the database file\npath as a direct node parameter visible and editable in the workflow.\nA workflow author who mapped untrusted user input to the db_path field\ncould allow an attacker to control which file was opened by SQLite,\npotentially enabling path traversal to read or overwrite arbitrary\nfiles accessible to the n8n process.\n\nThe vulnerability requires the workflow author to explicitly wire\nuntrusted input to the db_path parameter, so it does not affect\nstandalone deployments where only trusted users author workflows.\nHowever, in multi-tenant or user-facing n8n deployments the risk\nis elevated.\n\nFixed in v1.0.0 by moving the database path into a credential\n(v2 node architecture), which is stored server-side and not\ncontrollable by workflow input data.\n\n## References\n- Fix commit: 145a887\n- Introduced credential-based path: v2 node\n\n## Credits\ndyingman1 (role: Reporter)","status":"published","published":"2026-08-27T17:06:55Z","modified":"2026-08-27T17:25:39.159017Z","cvss":[{"version":"4.0","score":6.1,"vector":"CVSS:4.0/AV:N/AC:H/AT:P/PR:N/UI:P/VC:L/VI:L/VA:H/SC:N/SI:N/SA:N","level":"medium"}],"cwes":["CWE-22"],"updated_at":"2026-11-02T15:46:54.055966Z"}]}}
