Files
felhom.eu/documentation/audits/security-2026-11-02/part3/README.md
T

14 lines
2.0 KiB
Markdown

# Part 3 — the live proofs on scratch 9202 (2026-11-03), controller test image of `c4b6844`
The image `0.350.0-rc.1-sec1102fault` was local only: `docker save`/`load`, never pushed, removed after. Driver: `proof1102.py`. Events went to a sink in the guest, not a hub.
| Row | What was staged | What happened | File |
|---|---|---|---|
| R-1347 | an update with its undo copy cut off (finished-marker removed while it verifies; a held volume does not stop the undo, `try1-…`) | hold `update_failed`; the household's restore: „the update hold … is CLEARED", „its update-held flag is forgotten"; six `kill -9`: `crash_loop … STOPPING`, hold `unhealthy_stop`: the watcher watches again | `stdout-r1347.txt`, `stdout-r1347b.txt` |
| R-1348 | a restore cut at „the restore copy is recorded": `docker kill`, the volume held by a created-only container, the controller started | „could NOT be put back", hold `restore_mixed` / `interrupted_put_back`, event `backup_run_failures` with the R-1340 sentence in the sink. It showed a wrong run name (offsite-reconstitute): fixed, `3764445` | `stdout-r1348.txt`, `r1348-after.txt` |
| R-1339 | a guest reboot, before and after | 9 false lines → 0 | `stdout-boot-before.txt`, `stdout-boot-after.txt` |
| R-1351 | reboots: plain; the sync recreating; also the file manager held down so both paths run in one second | 0 Conflict and 0 first-boot WARN on all six, 3 per image. **The race did not fire on the old image either, so these boots do not tell the images apart.** The proof is the test with the lock removed | `stdout-boot-*.txt` |
| Traefik v3.7.17 | three boots | started, dashboard 200, file manager healthy | `stdout-boot-after.txt` |
Left on 9202: one hold in its settings, `radicale` (`restore_mixed`), from R-1348's proof. A brief's fence forbids CC to clear a restore hold; the app itself is removed. To clear it: `pct exec 9202 -- docker exec felhom-controller felhom-controller --clear-restore-hold radicale`. Until then a walk of Radicale on 9202 is refused its start.