Fehler in VPN-Schlüsselaustausch-Dienst für BSD-Plattformen und Linux
Unautorisierte Angreifer, die im Besitz eines gültigen und vertrauenswürdigen X.509-Zertifikats sind, können mit beliebigen privaten Schlüsseln RSA-Signaturen erzeugen und in Phase 1 zur erfolgreichen Authentifizierung senden.
Der IKE-Dienst des KAME-Projektes -- racoon -- überprüft die Authentifizierungsdaten nicht vollständig, wenn RSA-Signaturen zum Einsatz kommen. KAME ist eine freie Referenz-Implementierung von IPv6 und IPSec für verschiedene BSD-Varianten, die auch im Linux-Kernel 2.6 verwendet wird.
Racoon validiert zwar das übermittelte X.509-Zertifikat eines Teilnehmens, die Funktion eay_check_x509sign() im Modul crypto_openssl.c berücksichtigt aber nicht die dazugehörige RSA-Signatur. Unautorisierte Angreifer, die im Besitz eines gültigen und vertrauenswürdigen X.509-Zertifikats sind, können mit beliebigen privaten Schlüsseln RSA-Signaturen erzeugen und in Phase 1 zur erfolgreichen Authentifizierung senden. Nach Angaben von Ralf Spenneberg, Entdecker der Sicherheitslücke, ist kein Exploit notwendig, um den Fehler auszunutzen; racoon selbst eignet sich für solch einen Angriff.
Betroffen sind alle racoon-Versionen, die in den Linux-ipsec-tools bis einschließlich 0.2.4 enthalten sind, beziehungsweise vor dem 6. April 2004 veröffentlicht wurden. Die KAME-Entwickler haben ihr CVS bereits aktualisiert. Auch Gentoo hat schon reagiert und neue Pakete für die ipsec-tools (0.2.5) zur Verfügung gestellt. Ein Workaround existiert nicht.
Siehe dazu auch: (dab)
- Security Advisory von Ralf Spenneberg
- IPsec Howto for Linux von Ralf Spenneberg