Alert!

DNS-Server: Bind, dnsmasq und Unbound stolpern über Sicherheitslücke "KeyTrap"

Mit einer präparierten DNS-Anfrage können Angreifer eine hohe Prozessorlast verursachen und den Dienst für legitime Nutzer so blockieren. Patches stehen bereit.

In Pocket speichern vorlesen Druckansicht 16 Kommentare lesen
Lesezeit: 4 Min.

Ein Fehler in der Verarbeitung von DNSSEC-Anfragen kann Nameserver, die auf Bind oder Unbound basieren, derart aus dem Takt bringen, dass sie legitime Anfragen ablehnen müssen. Die Sicherheitslücke, von ihren deutschen Entdeckern auf den Namen "KeyTrap" getauft, können Angreifer aus der Ferne ausnutzen, wenn sie einige Vorarbeiten leisten.

Das gelingt jedoch nur bei sogenannten "Resolvern", also DNS-Servern, die etwa im Netzwerk eines Unternehmens oder Internet-Zugangsanbieters mit der Namensauflösung beauftragt sind. Einer der bekanntesten öffentlichen Resolver ist Googles kostenloser Dienst mit der einprägsamen IP-Adresse 8.8.8.8.

Zunächst muss der Angreifer einen aus dem Internet erreichbaren Resolver mit einer verwundbaren Bind-Version (9.11.37 bis 9.16.46, 9.18.0 bis 9.18.22 oder 9.19.0 bis 9.19.20) oder Unbound 1.19.0 oder älter finden. Diesen beauftragt er dann, einen von ihm zuvor präparierten und per DNSSEC signierten Domainnamen aufzulösen, was auf dem Server hohe CPU-Last und möglicherweise eine Dienstverweigerung (DoS) verursacht. Schuld ist bei KeyTrap (CVE-2023-50387, CVSS 7,5/10, Risiko "hoch") eine spezielle Kombination von Schlüsseln, DNS-Einträgen und kryptographischen Signaturen, die den Server dazu verleitet, extrem viele wertvolle Taktzyklen für die Überprüfung der Antwort zu vergeuden.

Auch eine zweite Lücke mit der CVE-ID CVE-2023-50868 schlägt in dieselbe Kerbe. Hier ist die kostenintensive Berechnung von NSEC3-Hashwerten der Verursacher für einen Denial of Service, der CVSS-Wert und die Risikoeinstufung sind ebenfalls 7,5/10 und "hoch".

Während Unbound nur von der KeyTrap- und NSEC3-Lücke betroffen ist, haben die Verantwortlichen bei ISC, der Firma hinter dem Bind-Nameserver, sich noch weiterer Probleme angenommen. Diese beziehen sich teilweise auf Resolver und teilweise auf sogenannte "autoritative Server", die für die Auflösung einer einzelnen Domain (wie heise.de) verantwortlich sind.

Die folgenden fünf Sicherheitslücken teilen sich alle den CVSS-Wert 7,5 und die daraus folgende Risikoeinschätzung "hoch":

  • CVE-2023-4408 ist eine weitere Denial-of-Service-Lücke durch hohen CPU-Verbrauch bei der Verarbeitung großer DNS-Anfragen durch Resolver und autoritative Server,
  • CVE-2023-5517 und CVE-2023-5679 sorgen ebenfalls für Ausfälle bei bind-Resolvern – in diesem Fall jedoch durch einen Absturz des Serverprozesses und
  • CVE-2023-6516 nutzt eine dritte Möglichkeit der Dienstverweigerung: Hier füllt sich der Arbeitsspeicher aufgrund einer aus dem Ruder gelaufenen Cache-Säuberungsaktion.

Die Unbound-Entwickler haben sich der beiden DNSSEC-Fehler in Version 1.19.1 angenommen und sie dort behoben; reparierte Bind-Versionen tragen die Nummern 9.16.48, 8.18.24 und 9.19.21 (für Kunden der kommerziellen Variante jeweils in der -S1-Ausgabe verfügbar). DNS-Admins sollten sich zügig um das Problem kümmern.

Bind hatte zuletzt im vergangenen Jahr mit DoS-Problemen zu kämpfen, Unbound hingegen war bislang in dieser Hinsicht unauffällig. Wer anhand der Begriffe DNS, DNSSEC, Resolver und NSEC3 nicht weiß, wo ihm der Kopf steht, kann sich hier weiterbilden: Admin-Know-how: Das Domain Name System erklärt.

Auch der schlanke DNS-Resolver dnsmasq, der besonders bei Router- und Applianceherstellern beliebt ist, leidet unter der KeyTrap-Lücke. Wie der Entwickler im Änderungsprotokoll auf der dnsmasq-Webseite erläutert, ist der Angriff bei allen Resolvern möglich, die DNSSEC unterstützen. Es handele sich, so Simon Kelley, um einen Fehler in der DNSSEC-Spezifikation, nicht in den Software-Implementationen. dnsmasq 2.90 führt eine Begrenzung für den rechnerischen Aufwand ein, der bei der DNSSEC-Überprüfung durch dnsmasq verursacht wird und verhindert so die negativen Auswirkungen von KeyTrap.

Update

Auch dnsmasq hat die Sicherungsmaßnahmen gegen KeyTrap in seiner neuesten Version eingeführt. Wir haben Überschrift und Text entsprechend angepasst.

Update

Nicht Unbound 1.19.0, sondern Unbound 1.19.1 behebt den Fehler – ein Leser wies uns darauf hin. Wir haben die entsprechenden Textstellen korrigiert.

(cku)