You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Issue:#44 · Verdict: confirmed · Severity: Medium (Defense-in-Depth) · Fix-Plan:security-fixplan-42-50.md → WP-S2, Release V0.8.2.5 (TDD in additional/python/tests/).
Befund:build_environment() (command_queue.py:65-73) merged Queue-env ungefiltert über os.environ; Popen(..., user=0) ehrt LD_PRELOAD/LD_LIBRARY_PATH/LD_AUDIT bei uid==euid; PATH-Hijack über non-absolute argv[0] (empirisch bestätigt). Kein Befehls-Approval-Dialog existiert (nur generischer polkit-Prompt) — Transparenz ist eigener Wert, kein Approval-Fix. „Alle Builder nutzen absolute Pfade" ist falsch: rm/ln/sed/timeshift/flatpak nutzen bare argv[0], Shell-Entries tragen den Skript-String in argv[0] — ein naiver Guard bricht diese Flows.
Fix (dreischichtig, TDD):
RED — additional/python/tests/ (nach test_command_queue.py-Schema): Env-Map mit LD_PRELOAD wird von build_environment() bei uid==0 gefiltert; parse_command() lehnt non-absolute argv[0] für Nicht-Shell-Entries ab.
GREEN — (1) LD_*/BASH_ENV/ENV/IFS-Strip (oder Allowlist) in build_environment() für uid==0; (2) argv[0]-Guard nach Kanonisierung der ~8 bare-name-Sites (absolute Pfade einsetzen; Shell-Entries via Flag ausnehmen); (3) env in displayCommand/Kommandotabelle sichtbar machen (Transparenz).
Umgesetzt: Env-Filter für Root-Kommandos (LD_*/BASH_ENV/ENV/IFS aus geerbter + Queue-env), argv[0]-Guard gegen PATH-Hijack (Shell-Entries via useShell ausgenommen), 15 bare-name-Queue-Sites auf absolute Pfade, env in der Kommandotabelle sichtbar.
Offen (Basti, manuell): eine Queue-Runde (Timeshift-Apply) läuft normal. Issue bleibt bis V0.8.2.5 offen.
Work-Package S2 ist umgesetzt: Root-Queue-Env gehärtet und transparent gemacht.
Der vollständige Nachweis steht in #44 (dieses Paket ist dessen Umsetzung) —
Commit d8592a8 „fix(queue): strip linker env for root commands and make queue env visible",
LD_*-Strip in additional/python/command_queue.py:78-95, argv[0]-Guard in :47-50,
Tests in additional/python/tests/test_command_queue.py:57-96.
Gates am 2026-10-23 (frisch, echte Exitcodes): flutter analyze → No issues found! · flutter test → 223 Tests grün · dart format --set-exit-if-changed lib test → 123 Dateien, 0 geändert ·
Python-Unittests 58 + 96 grün · packages/la_core 0 Findings / 25 Dateien / 68 Tests.
Nachweis: docs/handoff/v0.8.2-xdg-browser-abschluss.md — folgt mit PR #154.
Activity
Toqsick commentedon Sep 23, 2026
WP-S2 umgesetzt in
d8592a8(lokal, kein Push — Push-Freigabe = #41).Gates (alle grün):
tool/check-versions.sh· dart-format-Gate ·flutter analyze0 Findings ·flutter test184/184 · Python-Unittests 49/49 (10 neue: 4× BuildEnvironment, 3× ParseCommand-Guard + Shell-Exemption, 3× displayCommand-env).Umgesetzt: Env-Filter für Root-Kommandos (LD_*/BASH_ENV/ENV/IFS aus geerbter + Queue-env), argv[0]-Guard gegen PATH-Hijack (Shell-Entries via useShell ausgenommen), 15 bare-name-Queue-Sites auf absolute Pfade, env in der Kommandotabelle sichtbar.
Offen (Basti, manuell): eine Queue-Runde (Timeshift-Apply) läuft normal. Issue bleibt bis V0.8.2.5 offen.
fix(queue): strip linker env for root commands and make queue env vis…
Toqsick commentedon Oct 23, 2026
Abnahme — erledigt (WP-S2)
Work-Package S2 ist umgesetzt: Root-Queue-Env gehärtet und transparent gemacht.
Der vollständige Nachweis steht in #44 (dieses Paket ist dessen Umsetzung) —
Commit
d8592a8„fix(queue): strip linker env for root commands and make queue env visible",LD_*-Strip in
additional/python/command_queue.py:78-95, argv[0]-Guard in:47-50,Tests in
additional/python/tests/test_command_queue.py:57-96.Gates am 2026-10-23 (frisch, echte Exitcodes):
flutter analyze→ No issues found! ·flutter test→ 223 Tests grün ·dart format --set-exit-if-changed lib test→ 123 Dateien, 0 geändert ·Python-Unittests 58 + 96 grün ·
packages/la_core0 Findings / 25 Dateien / 68 Tests.Nachweis:
docs/handoff/v0.8.2-xdg-browser-abschluss.md— folgt mit PR #154.