[English]Windows bietet die Möglichkeit, den Fenstertitel von Fenstern eines Terminal-Emulators über Steuerzeichen (ANSI Escape Characters) zu ändern. Manche Blog-Leser kennen das noch, wurde benutzt, um beispielsweise Farben eines DOS-Fensters anzupassen. Ein Sicherheitsforscher hat gezeigt, dass damit auch so etwas wie DoS-Angriffe möglich sind, die über Schwachstellen in den Anwendungen ein weißes Fenster ("White Screen of Death") oder gar einen Absturz des Systems ermöglichen. Das ist vor allem in Umgebungen (Kubernetes) ein Problem, wo Terminal Emulatoren verwendet werden und der Windows-Rechner zum Absturz gebracht werden kann.
Anzeige
Ich bin über den nachfolgenden Tweet der Kollegen von Bleeping Computer auf das Thema gestoßen, welches von Eviatar Gerz (CyberArk) im Artikel Don't Trust This Title: Abusing Terminal Emulators with ANSI Escape Characters beschrieben wird.
Eviatar Gerz stellte beim Arbeiten mit OpenShift (Kubernetes-Distribution von RedHat) fest, dass er ANSI-Escape-Zeichen (siehe folgende Bild) in Komponenten der Webanwendung injizieren konnte.
ANSI Escape Characters, Quelle: CybereArc
Anzeige
Die ANSI-Escape-Zeichen werden dann durch die Komponenten ausgeführt – im aktuellen Fall nutzte der Sicherheitsforscher dies, um die Farbe des verwendeten Terminalfensters zu ändern. Es stellte sich die Frage, ob dies sicherheitstechnisch missbraucht werden kann. Denn es gibt ein interessantes Advisory von Digital Defense Incorporated aus dem Jahr 2003 über Sicherheitsfragen bei Terminalemulatoren.
Terminal Emulatoren anfällig
Nach einer Untersuchung des Sachverhalts stellte Eviatar Gerz fest, dass sich viele Terminal Emulatoren unter Windows über ANSI-Escape-Zeichen angreifen und zum Absturz bringen ließen. Am Ende des Tages lagen folgende Erkenntnisse vor:
- Fünf schwerwiegende Sicherheitslücken: CVE-2021-28847, CVE-2021-28848, CVE-2021-32198, CVE-2021-33500 und CVE-2021-42095 wurden entdeckt. Die Sicherheitsforscher haben eine Möglichkeit gefunden, remote einen DoS (Denial of Service) auf dem Host des Terminal-Clients zu verursachen.
- Eine ANSI-Escape-Zeichen-Injektionsschwachstelle in OpenShift und Kubernetes (CVE-2021-25743).
- Drei zusätzliche Sicherheitslücken: CVE-2021-31701, CVE-2021-37326 und CVE-2021-40147. Es wurde eine Möglichkeit gefunden, den Klammer-Einfügemodus-Mechanismus innerhalb der Terminals zu umgehen.
Die Details der Untersuchung zum Anpassen des Titels der Teminal-Emulator-Fenster über ANSI Escape-Steuerzeichen waren geradezu schockierend. Mit geringen Modifikationen ließen sich die Remote DoS-Angriffe fahren. Hier die Liste der CVEs der entdeckten Schwachstellen.
Schwachstellen in Terminalemulatoren, Quelle: CyberArc
Am Ende des Tages ließen sich (neben Browsern) folgende Terminal Emulatoren für einen Denial of Service (DoS) angreifen:
- PuTTY: Mit der Schwachstelle CVE-2021-33500 lässt sich der gesamte Rechner zum Einfrieren bringen, korrigiert in Version 0.75
- MobaXterm: Mit der Schwachstelle CVE-2021-28847 lässt sich die App einfrieren, korrigiert in Version 21.0 Preview 3
- MinTTY (und Cygwin): Mit der Schwachstelle CVE-2021-28848 lässt sich der gesamte Rechner zum Einfrieren bringen, korrigiert in Version 3.4.6
- Git: Benutzt MinTTY, gefixt in Version 2.30.1
- ZOC: Mit der Schwachstelle CVE-2021-32198 lässt sich die App einfrieren, kein Fix
- XSHELL: Mit der Schwachstelle CVE-2021-42095 lässt sich der gesamte Rechner zum Einfrieren bringen, korrigiert in Version 7.0.0.76
Die umfangreichen Details der Ausnutzung dieser Angriffswege lassen sich Artikel Don't Trust This Title: Abusing Terminal Emulators with ANSI Escape Characters nachlesen.
Anzeige
Würde auch in alten bzw. ungepatchten Chrome(ium) Versionen gefunden.
Bis MS hier nicht einen systemweiten Limiter implementiert, muss gehofft werden, dass die SW-Entwickler tätig werden.
Der Browser"Bug" scheint auch unter Linux aufzutreten (https://www.google.com/amp/s/www.bleepingcomputer.com/news/security/rapid-window-title-changes-cause-white-screen-of-death-/amp/)
Das gab es auch schon vor über 40 Jahren…
Mit ansi.sys unter DOS? Muss ich gleich mal ausprobieren, ich fahre mal meinen 386er mit DOS 5.0 hoch…
Davor!
Unix