7 Punkte von kuroneko 2023-07-20 | 3 Kommentare | Auf WhatsApp teilen
  • Qualys hat in OpenSSH eine Schwachstelle entdeckt, die Remote Code Execution über einen weitergeleiteten SSH-Agenten ermöglicht.
  • Die SSH-Agent-Weiterleitung wird vor allem in CI/CD-Umgebungen verwendet, wenn Anmeldeinformationen nicht direkt gespeichert werden sollen und stattdessen mit entfernten Anmeldedaten ein Login versucht wird.
  • Die Schwachstelle entsteht in dem Teil, in dem der SSH-Agent PKCS11-Unterstützung erlaubt.
    • Für die PKCS11-Unterstützung darf ein entfernter Benutzer Shared Libraries aus vertrauenswürdigen Speicherorten laden und wieder schließen.
    • Beim Test aller standardmäßig installierten Shared Libraries auf Ubuntu Desktop zeigte sich, dass die Standardbibliotheken in der Regel nicht dafür ausgelegt sind, geschlossen zu werden, weshalb beim Schließen durch den SSH-Agenten Fehler auftreten.
    • Diese Fehler lösen einige Systemsignale aus, und durch deren Kombination gelang es, aus der Ferne beliebigen Code auszuführen.
  • OpenSSH wurde so geändert, dass die entfernte PKCS11-Unterstützung einfach deaktiviert wird und Shared Libraries über eine Whitelist verwaltet werden.
    • Zuvor konnten alle Shared Libraries unter dem lib-Ordner geladen werden.
  • Wer die SSH-Agent-Weiterleitung verwendet, sollte die PKCS11-Unterstützung deaktivieren, wenn sie nicht benötigt wird.

3 Kommentare

 
galadbran 2023-07-20

Soll man die Einstellung auf dem eigenen PC deaktivieren? Oder ist das eine Servereinstellung …

 
kuroneko 2023-07-21

Wenn Sie nie ssh-agent forwarding verwendet haben, sind Sie offenbar überhaupt nicht betroffen.

 
kuroneko 2023-07-20

Ich habe mir die detaillierte Beschreibung der Schwachstelle kurz angesehen, aber ich kann sie nicht verstehen ...
Irgendwas mit SIGBUS-, SIGSEGV-Handlern, wodurch SIGTRAP ausgelöst wird, dann wird irgendetwas in einem Stack-Buffer gespeichert und man wird dazu gebracht, dorthin zu springen ...

Angeblich wird das alles über das Laden/Entladen von Bibliotheken gesteuert, aber ehrlich gesagt verstehe ich nicht so recht, was damit gemeint ist.
Für mich ist das eher so ein „Aha, okay ...“.

Falls es euch interessiert: Es gibt ein sehr detailliertes Dokument, das wohl sogar Beispiele enthält.
Ich kann nur empfehlen, es einmal zu lesen.