- Verschifft
- 3. September 2026 um 19:11 UTC
- Autor
- Kamo
- Ausschuss
- 0b5b8a3
Erwischt, indem das Protokoll gegen die Live-Maschine läuft, nicht durch das Lesen: nach einer Größe Steuerrahmen, "tput cols" in der Schale noch berichtet die Größe das Terminal geöffnet. FORKS anstatt execs, so dass der tmux-Client saß in einer anderen Prozessgruppe aus dem Vordergrund der PTY, und der SIGWINCH der Kernel wirft auf TIOCSWINSZ ging auf "su", was sie ignoriert. Jede Schale eingewickelt, egal in welcher Breite das Fenster zuerst hatte, und weniger, vim und htop zog auf die falsche. Der Agent ist bereits root, also lässt er die Privilegien selbst fallen - initgroups, setgid, setuid, chdir und execs tmux direkt. tmux wird zum Vordergrund-Prozess der PTY und das Signal landet dort, wo es gedacht ist. Drei Dinge fallen dabei heraus, allesamt Verbesserungen: * Die Kinderumgebung ist jetzt BUILT und nicht vererbt, und das ist ein Sicherheitsgrenze, nicht Ordnung. Die Umgebung dieses Prozesses hält KAMO_DESKTOP_AGENT_TOKEN - das Träger-Token für jeden Konto-Betrieb auf diese Maschine und ein Kind, das os.environ geerbt würde es an die Die Shell des Mitglieds, wo es in "env" Drucken gibt. Es geschah, es abzuwischen; nichts stützte sich absichtlich darauf. * Keine Shell parsiert einen Befehlsstring irgendwo mehr. argv ist ein Befehlsstring Liste der validierten Teile. * Keine PAM-Sitzung wird eröffnet, so dass ein Terminal keine Login-Sitzung mehr registriert dass Loginctl gegen den Ein-Desktop-Session-per-User dieser Maschine zählen würde Politik. Das Öffnen eines Terminals darf nie auf den Desktop von jemandem gelangen erntet. Die aktivierte Kontokontrolle im Handler trägt nun das ganze Gewicht, da su hätte ein gesperrtes Passwort selbst verweigert und setuid nicht. Es war schon es; es ist jetzt tragend und sagt es. Auch: Pumpe kehrt statt zu erhöhen, wenn sein Peer verschwindet Mitte der Wahl (EBADF/ECONNRESET). Das ist das gewöhnliche Ende eines Terminals - ein geschlossener Tab - nicht ein Fehler. 113 Tests, darunter eine, die eine gefälschte Token in os.environ setzt und behauptet, es tut das Kind nicht erreichen.