Paul Nothaft
b36dd0ebfe
fix(backend): contain and sanitize the SQLite restore source path
...
The restore flow accepted an unvalidated database.backup_file from
the manifest (absolute paths and traversal both worked, and no
containment check enforced the configured backup root), then
interpolated it unescaped into a `sqlite3 .restore '<path>'` command,
letting an attacker-chosen source file replace the live database.
2026-09-10 20:42:38 +02:00
..
2026-09-02 09:43:10 +02:00
2026-09-01 16:23:28 +02:00
2026-07-29 12:38:26 +02:00
2026-09-07 20:02:57 +02:00
2026-07-29 12:38:26 +02:00
2026-09-07 20:36:48 +02:00
2026-09-05 23:41:17 +02:00
2026-09-01 08:17:04 +02:00
2026-09-02 09:43:10 +02:00
2026-09-01 16:23:22 +02:00
2026-07-29 12:38:26 +02:00
2026-09-04 14:32:31 +02:00
2026-09-02 09:43:10 +02:00
2026-07-30 12:14:41 +02:00
2026-09-03 10:58:11 +02:00
2026-09-02 09:43:10 +02:00
2026-08-26 21:13:23 +02:00
2026-08-16 14:59:52 +02:00
2026-08-16 14:59:52 +02:00
2026-09-07 20:02:40 +02:00
2026-09-02 15:32:35 +02:00
2026-08-19 10:17:44 +02:00
2026-09-08 17:22:47 +02:00
2026-05-14 20:53:10 +02:00
2026-09-08 15:34:09 +02:00
2026-07-16 10:55:10 +02:00
2026-09-07 22:30:13 +02:00
2026-07-30 14:24:28 +02:00
2026-08-26 08:53:39 +02:00
2026-09-09 22:27:18 +02:00
2026-08-02 21:17:05 +02:00
2026-09-02 09:30:49 +02:00
2026-08-02 08:38:24 +02:00
2026-09-08 15:34:09 +02:00
2026-09-01 08:17:32 +02:00
2026-08-28 08:03:49 +02:00
2026-08-02 08:37:48 +02:00
2026-08-13 18:50:48 +02:00
2026-08-26 08:43:13 +02:00
2026-09-08 15:34:09 +02:00
2026-09-02 09:43:10 +02:00
2026-08-28 08:27:15 +02:00
2026-08-01 17:36:15 +02:00
2026-07-17 09:16:51 +02:00
2026-08-02 21:17:17 +02:00
2026-09-08 15:54:01 +02:00
2026-09-03 10:53:30 +02:00
2026-07-29 22:23:38 +02:00
2026-08-02 21:24:38 +02:00
2026-08-02 21:24:38 +02:00
2026-07-29 12:38:26 +02:00
2026-07-29 12:38:26 +02:00
2026-07-29 12:38:26 +02:00
2026-09-04 14:32:31 +02:00
2026-09-10 20:42:38 +02:00
2026-09-08 15:34:09 +02:00
2026-07-29 12:38:26 +02:00
2026-07-29 12:38:26 +02:00
2026-09-07 20:03:15 +02:00
2026-09-06 19:23:14 +02:00
2026-08-02 21:17:14 +02:00
2026-08-02 21:17:14 +02:00