KeyTrap- en NSEC3-kwetsbaarheden die van invloed zijn op de meeste DNSSEC-implementaties

Er zijn twee kwetsbaarheden geïdentificeerd in verschillende implementaties van het DNSSEC-protocol, die van invloed zijn op de BIND-, PowerDNS-, dnsmasq-, Knot Resolver- en Unbound DNS-resolvers. De kwetsbaarheden kunnen een Denial of Service veroorzaken voor DNS-resolvers die DNSSEC-validatie uitvoeren door een hoge CPU-belasting te veroorzaken die de verwerking van andere verzoeken verstoort. Om een ​​aanval uit te voeren volstaat het om via DNSSEC een verzoek naar een DNS-resolver te sturen, wat leidt tot een oproep naar een speciaal ontworpen DNS-zone op de server van de aanvaller.

Problemen geïdentificeerd:

  • CVE-2023-50387 (codenaam KeyTrap) – Bij toegang tot speciaal ontworpen DNS-zones leidt dit tot een Denial of Service vanwege de aanzienlijke CPU-belasting en de lange uitvoeringstijd van DNSSEC-controles. Om een ​​aanval uit te voeren is het noodzakelijk om een ​​domeinzone met kwaadaardige instellingen te plaatsen op een DNS-server die wordt beheerd door de aanvaller, en om ervoor te zorgen dat deze zone wordt benaderd door een recursieve DNS-server, waarvan de aanvaller de Denial of Service zoekt. .

    Schadelijke instellingen omvatten het gebruik van een combinatie van conflicterende sleutels, RRSET-records en digitale handtekeningen voor een zone. Pogingen om te verifiëren met behulp van deze sleutels resulteren in tijdrovende, resource-intensieve bewerkingen die de CPU volledig kunnen belasten en de verwerking van andere verzoeken kunnen blokkeren (er wordt bijvoorbeeld beweerd dat het bij een aanval op BIND mogelijk was om de verwerking van andere verzoeken voor 16 uur).

  • CVE-2023-50868 (codenaam NSEC3) is een Denial of Service omdat er aanzienlijke berekeningen worden uitgevoerd bij het berekenen van hashes in NSEC3-records (Next Secure v3) bij het verwerken van speciaal vervaardigde DNSSEC-antwoorden. De aanvalsmethode is vergelijkbaar met de eerste kwetsbaarheid, behalve dat er een speciaal ontworpen set NSEC3 RRSET-records wordt aangemaakt op de DNS-server van de aanvaller.

Opgemerkt wordt dat het verschijnen van de bovengenoemde kwetsbaarheden wordt veroorzaakt door de definitie in de DNSSEC-specificatie van de mogelijkheid voor de DNS-server om alle beschikbare cryptografische sleutels te verzenden, terwijl de oplossers de ontvangen sleutels moeten verwerken totdat de controle succesvol is voltooid of alle ontvangen sleutels zijn geverifieerd.

Als maatregelen om kwetsbaarheden te blokkeren, beperken solvers het maximale aantal DNSSEC-sleutels dat betrokken is bij het vertrouwensketenproces en het maximale aantal hash-berekeningen voor NSEC3, en beperken ze ook het aantal verificatiepogingen voor elke RRSET (sleutel-handtekeningcombinatie) en elke serverreactie.

De kwetsbaarheden zijn opgelost in updates voor Unbound (1.19.1), PowerDNS Recursor (4.8.6, 4.9.3, 5.0.2), Knot Resolver (5.7.1), dnsmasq (2.90) en BIND (9.16.48, 9.18.24). .9.19.21 en XNUMX). De status van kwetsbaarheden in distributies kan worden beoordeeld op deze pagina's: Debian, Ubuntu, SUSE, RHEL, Fedora, Arch Linux, Gentoo, Slackware, NetBSD, FreeBSD.

BIND DNS-serverversies 9.16.48, 9.18.24 en 9.19.21 hebben bovendien nog een aantal kwetsbaarheden opgelost:

  • CVE-2023-4408 Het parseren van grote DNS-berichten kan een hoge CPU-belasting veroorzaken.
  • CVE-2023-5517 - Een aanvraag voor een speciaal vervaardigde omgekeerde zone kan tot een crash leiden doordat een assert-check wordt geactiveerd. Het probleem treedt alleen op in configuraties waarbij de instelling “nxdomain-redirect” is ingeschakeld.
  • CVE-2023-5679 – Recursieve hostdetectie kan tot een crash leiden doordat een assert check wordt geactiveerd op systemen met DNS64-ondersteuning en “serve-stale” ingeschakeld (instellingen, verouderde cache-enable en verouderde antwoord-enable).
  • CVE-2023-6516 Speciaal vervaardigde recursieve zoekopdrachten kunnen ervoor zorgen dat het proces het beschikbare geheugen uitput.

Bron: opennet.ru

Voeg een reactie