Open Source im professionellen Einsatz

StrongSwan mit fehlerhaftem Plugin

StrongSwan ist der Nachfolger des FreeS/WAN Projektes und stellt eine umfangreiche IPSec-Implementierung für Linux mit Kernel Versionen 2.6 und 3.x bereit. Authentifizierung geschieht über X.509-Zertifikate. StrongSwan ist trotz der implementierten komplexen Verfahren vergleichsweise einfach zu administrieren und unterstützt auch Internet das Key Exchange Protocol (IKEv1 und IKEv2).

Eine kürzlich entdeckte Sicherheitslücke in strongSwan hat zur Folge, dass ein entfernter Angreifer sich als beliebiger Benutzer am System anmelden kann. Diese Schwachstelle tritt in den StrongSwan-Installationen auf, die das GMP-Plugin zum Verifizieren von RSA-Signaturen verwenden. Dieses Plugin benutzt für große Integer-Berechnungen die GMP-Bibliothek, die spezielle arithmetische Operationen implementiert. In diesem Fall kann der Angreifer eine leere oder aus Nullen bestehende Signatur zum Anmelden an das System verwenden. Die IKEv1- und IKEv2-Authentifikations-Mechanismen sind betroffen hiervon.

 

Der Programmierfehler befindet sich in der plugins/gmp/gmp_rsa_public_key.c-Datei des GMP-Plugins. Hier kommt es zu einer Abfrage der Signatur-Länge in der verify_emsa_pkcs1_signature()-Funktion:

if (signature.len == 0 || signature.len > this->k)
{
  return INVALID_ARG;
}

Nun wird beispielsweise im Falle einer leeren Signatur (signature.len = 0) INVALID_ARG von der verify_emsa_pkcs1_signature()-Funktion zurückgeliefert. Dies hat dann aber zur Folge, dass der Angreifer trotzdem noch Zugriff erlangen kann. Korrekterweise sollte hier nämlich FALSE zurückgeliefert werden, womit ausdrücklich signalisiert wird, dass die Signatur ungültig ist. Darin besteht auch schon der ganze Patch:

if (signature.len == 0 || signature.len > this->k)
{
  return FALSE;
}

Betroffen sind die Versionen 4.2.0 - 4.6.3.

comments powered by Disqus

Ausgabe 11/2017

Digitale Ausgabe: Preis € 6,40
(inkl. 19% MwSt.)

Stellenmarkt

Artikelserien und interessante Workshops aus dem Magazin können Sie hier als Bundle erwerben.