Quelle: bugs.md #5 (Deep-Dive Runde 2, 2026-09-17) — schwerwiegendster Fund der ganzen Session Confidence: sehr hoch — kein Verdacht, sondern reproduzierter Exploit gegen den echten Testrouter (hAP lite, 192.168.88.1)
RouterOSCommand.cliLine baute CLI-Zeilen für den SSH-Transport per String-Interpolation. Die alte quoteIfNeeded(_:) quotete einen Wert nur bei Leerzeichen und escapte nie eingebettete ". RouterOS' Konsole behandelt ; als Befehlstrenner — ein Wert wie test" ; :log warning "INJECTED (ein plausibler freier Kommentar/SSID/Hostname) schloss das Anführungszeichen vorzeitig und ließ den Rest als zweiten, unabhängigen RouterOS-Befehl laufen.
Exploit live bestätigt (Testartefakt danach aufgeräumt): Befehl mit comment="test" ; :log warning "INJECTED-VIA-COMMENT-FIELD" über SSH ausgeführt → Router-Log zeigte den injizierten script,warning-Eintrag als eigenständig ausgeführten zweiten Befehl.
Betroffen: jeder Text im Setup-Wizard/Experte-Tab, sobald über SSH geschrieben wird. Auf dem Testrouter war www-ssl deaktiviert (REST unerreichbar) — jede Schreiboperation lief bereits über SSH, der Bug war live aktiv, nicht nur theoretisch.
Fix:quoteIfNeeded quotet jetzt immer und escaped \ → \\, " → \" (live verifiziert als RouterOS' eigene Escape-Syntax). Gleiche Lücke defensiv auch in SSHTransport.fetchFieldValues geschlossen.
Verifikation: Exploit-PoC nach dem Fix erneut gegen den Router gefahren — kein injizierter Log-Eintrag mehr, Kommentar korrekt als reiner Text gespeichert. Neuer Regressionstest. Build + 101 Unit-Tests grün.
**Quelle:** bugs.md #5 (Deep-Dive Runde 2, 2026-09-17) — **schwerwiegendster Fund der ganzen Session**
**Confidence:** sehr hoch — kein Verdacht, sondern reproduzierter Exploit gegen den echten Testrouter (hAP lite, 192.168.88.1)
`RouterOSCommand.cliLine` baute CLI-Zeilen für den SSH-Transport per String-Interpolation. Die alte `quoteIfNeeded(_:)` quotete einen Wert nur bei Leerzeichen und escapte nie eingebettete `"`. RouterOS' Konsole behandelt `;` als Befehlstrenner — ein Wert wie `test" ; :log warning "INJECTED` (ein plausibler freier Kommentar/SSID/Hostname) schloss das Anführungszeichen vorzeitig und ließ den Rest als zweiten, unabhängigen RouterOS-Befehl laufen.
**Exploit live bestätigt** (Testartefakt danach aufgeräumt): Befehl mit `comment="test" ; :log warning "INJECTED-VIA-COMMENT-FIELD"` über SSH ausgeführt → Router-Log zeigte den injizierten `script,warning`-Eintrag als eigenständig ausgeführten zweiten Befehl.
Betroffen: jeder Text im Setup-Wizard/Experte-Tab, sobald über SSH geschrieben wird. Auf dem Testrouter war `www-ssl` deaktiviert (REST unerreichbar) — jede Schreiboperation lief bereits über SSH, der Bug war live aktiv, nicht nur theoretisch.
**Fix:** `quoteIfNeeded` quotet jetzt immer und escaped `\` → `\\`, `"` → `\"` (live verifiziert als RouterOS' eigene Escape-Syntax). Gleiche Lücke defensiv auch in `SSHTransport.fetchFieldValues` geschlossen.
**Verifikation:** Exploit-PoC nach dem Fix erneut gegen den Router gefahren — kein injizierter Log-Eintrag mehr, Kommentar korrekt als reiner Text gespeichert. Neuer Regressionstest. Build + 101 Unit-Tests grün.
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Quelle: bugs.md #5 (Deep-Dive Runde 2, 2026-09-17) — schwerwiegendster Fund der ganzen Session
Confidence: sehr hoch — kein Verdacht, sondern reproduzierter Exploit gegen den echten Testrouter (hAP lite, 192.168.88.1)
RouterOSCommand.cliLinebaute CLI-Zeilen für den SSH-Transport per String-Interpolation. Die altequoteIfNeeded(_:)quotete einen Wert nur bei Leerzeichen und escapte nie eingebettete". RouterOS' Konsole behandelt;als Befehlstrenner — ein Wert wietest" ; :log warning "INJECTED(ein plausibler freier Kommentar/SSID/Hostname) schloss das Anführungszeichen vorzeitig und ließ den Rest als zweiten, unabhängigen RouterOS-Befehl laufen.Exploit live bestätigt (Testartefakt danach aufgeräumt): Befehl mit
comment="test" ; :log warning "INJECTED-VIA-COMMENT-FIELD"über SSH ausgeführt → Router-Log zeigte den injiziertenscript,warning-Eintrag als eigenständig ausgeführten zweiten Befehl.Betroffen: jeder Text im Setup-Wizard/Experte-Tab, sobald über SSH geschrieben wird. Auf dem Testrouter war
www-ssldeaktiviert (REST unerreichbar) — jede Schreiboperation lief bereits über SSH, der Bug war live aktiv, nicht nur theoretisch.Fix:
quoteIfNeededquotet jetzt immer und escaped\→\\,"→\"(live verifiziert als RouterOS' eigene Escape-Syntax). Gleiche Lücke defensiv auch inSSHTransport.fetchFieldValuesgeschlossen.Verifikation: Exploit-PoC nach dem Fix erneut gegen den Router gefahren — kein injizierter Log-Eintrag mehr, Kommentar korrekt als reiner Text gespeichert. Neuer Regressionstest. Build + 101 Unit-Tests grün.