35 lines
2 KiB
MySQL
35 lines
2 KiB
MySQL
|
|
-- =====================================================================
|
||
|
|
-- 0005 — Signal Desktop: the uninstall does not uninstall
|
||
|
|
--
|
||
|
|
-- Observed on the operator's own machine, 2026-10-30 00:24 CDT, while trying
|
||
|
|
-- to use the product for the first time since June.
|
||
|
|
--
|
||
|
|
-- This is a FINDING, not a score change. It does not move any dimension,
|
||
|
|
-- because local_data_exposure is already at 5 for the plaintext attachment
|
||
|
|
-- behaviour. What it does is replace a rationale with a demonstrated failure.
|
||
|
|
--
|
||
|
|
-- Artifact: 00-Artifacts/2026/10-Oct/30/clu-signal-startup-failure/
|
||
|
|
-- =====================================================================
|
||
|
|
|
||
|
|
INSERT INTO finding (assessment_id, severity, title, detail, status, disclosed_on)
|
||
|
|
VALUES (
|
||
|
|
'A-2026-10-29-SIGNAL-DESKTOP',
|
||
|
|
'medium',
|
||
|
|
'Purging the package leaves the database behind, and the next install then fails to start',
|
||
|
|
|
||
|
|
'On Linux, Signal keeps its state in ~/.config/Signal. Removing the signal-desktop package does not remove '
|
||
|
|
|| 'that directory. Reinstalling on 2026-10-30 found a 54,214,656-byte sql/db.sqlite last written 2026-06-21 '
|
||
|
|
|| 'and tried to open it. The SQLCipher key recorded in config.json no longer resolved, so every startup '
|
||
|
|
|| 'aborted with SQLITE_NOTADB before the app could reach the linking screen: '
|
||
|
|
|| '"MainSQL: sqlite(SQLITE_NOTADB): file is not a database in PRAGMA journal_mode = WAL", then '
|
||
|
|
|| '"MainSQL: migrateDatabase: Migration without cipher change failed", then '
|
||
|
|
|| '"sql.initialize was unsuccessful; returning early". The user sees a "Can''t Open Signal" dialog '
|
||
|
|
|| 'whose only working option is "Delete data and restart", which discards the retained history. '
|
||
|
|
|| 'The same directory also held 355 received attachments (25 MB) in plaintext, 25 stickers, 189 badge '
|
||
|
|
|| 'files and an encryptedKey, all surviving a four-month-old uninstall. '
|
||
|
|
|| 'The failure is recoverable by moving the configuration directory aside, but nothing in the product '
|
||
|
|
|| 'tells the user that the old database is the cause, and the offered remedy is data loss.',
|
||
|
|
'open',
|
||
|
|
'2026-10-30'
|
||
|
|
);
|