CVE-2023-34108: Manipulation interner Dovecot-Variablen in mailcow durch speziell gestaltete Passwörter

In einem kürzlich veröffentlichten Sicherheitshinweis wurde eine kritische Sicherheitslücke (CVE-2023-34108) in mailcow aufgedeckt. Diese Schwachstelle, die am 30. Mai 2023 entdeckt wurde, ermöglicht es einem Angreifer, interne Variablen des E-Mail-Server-Programms Dovecot durch den Einsatz speziell gestalteter Passwörter während des Authentifizierungsprozesses zu manipulieren. Dieser Artikel bietet eine detaillierte Analyse der Sicherheitslücke, ihrer Auswirkungen und der Maßnahmen, die ergriffen wurden, um sie zu beheben.

Mailcow Logo
Quelle: mailcow.email

Die Sicherheitslücke CVE-2023-34108 betrifft mailcow und wurde am 30. Mai 2023 entdeckt. Die Schwachstelle ermöglicht es einem Angreifer, interne Dovecot-Variablen zu manipulieren, indem speziell gestaltete Passwörter während des Authentifizierungsprozesses verwendet werden.

Die Problemstellung ergibt sich aus dem Verhalten des Skripts passwd-verify.lua, das während des Logins verantwortlich ist. Bei einem erfolgreichen Login gibt das Skript eine Antwort im Format password= zurück, was eine erfolgreiche Authentifizierung anzeigt.

Indem ein Passwort mit zusätzlichen Schlüssel-Wert-Paaren an das Ende angefügt wird, kann ein Angreifer die zurückgegebene Zeichenkette manipulieren und das interne Verhalten von Dovecot beeinflussen. Zum Beispiel würde die Verwendung des Passworts 123 mail_crypt_save_version=0 dazu führen, dass das Skript passwd-verify.lua die Zeichenkette password=123 mail_crypt_save_version=0 zurückgibt. Daraufhin interpretiert Dovecot diese Zeichenkette und setzt die internen Variablen entsprechend, was zu unvorhergesehenen Konsequenzen führt.

Durch Änderung des Passworts zu einer spezifischen Nutzlast kann die Schwachstelle während des Login-Prozesses mit dem speziell erstellten Passwort ausgenutzt werden. Eine erfolgreiche Ausnutzung könnte zu unbefugtem Zugriff auf Benutzerkonten, Umgehung von Sicherheitskontrollen oder anderen schädlichen Aktivitäten führen.

Die betroffenen Versionen sind im Wesentlichen alle vor dem Update 2023-05a. Die betroffene Datei passwd-verify.lua war fast 3 Jahre lang im mailcow: dockerized-Code vorhanden.

Es gibt keinen Workaround für dieses Problem, da jeder Benutzer sein eigenes Passwort ändern und setzen kann und diese Funktion nicht durch eine ACL eingeschränkt werden kann.

Am selben Tag wurde ein Hotfix (2023-05a) veröffentlicht, um die Schwachstelle zu beheben. Das bedeutet, dass es nicht mehr möglich ist, diese Schwachstelle auszunutzen.