KeyTrap ja NSEC3 haavatavused, mis mõjutavad enamikku DNSSECi rakendustest

DNSSEC protokolli erinevates rakendustes on tuvastatud kaks haavatavust, mis mõjutavad DNS-resolvereid BIND, PowerDNS, dnsmasq, Knot Resolver ja Unbound. Need haavatavused võimaldavad DNS-resolverite teenusekatkestust, kes valideerivad DNSSEC-i, kõrge CPU koormuse tõttu, mis takistab teiste päringute töötlemist. Rünnaku teostamiseks piisab, kui saata DNS-resolverisse, mis kasutab DNSSEC-i, päring, mis toob kaasa spetsiaalselt kujundatud DNS-tsooni pöördumise kurjategija serverisse.

Tuvastatud probleemid:

  • CVE-2023-50387 (koodnimi KeyTrap) — spetsiaalselt kujundatud DNS-ala päringud võivad põhjustada teenuse katkestamist, tekitades märkimisväärset koormust CPU-le ja kestva DNSSEC kontrollimise. Rünnaku sooritamiseks on vajalik, et häkker kontrolliks DNS-serveris domeeni, millel on pahatahtlikud seadistused, ning suunaks rekursiivse DNS-serveri sellele alale.

    Pahatahtlikud seadistused hõlmavad tsooni jaoks konfliktsete võtmete, RRSET-i ja digitaalsete allkirjade kombinatsiooni kasutamist. Selliste võtmete abil kontrollimise katse viib läbi pikaajaliste ressursside nõudvate operatsioonide, mis võivad täielikult koormata CPU-d ja takistada teiste päringute töötlemist (nt väidetakse, et BINDi rünnakus suudeti takistada teiste päringute töötlemist 16 tunni jooksul).

  • CVE-2023-50868 (koodnimi NSEC3) — teenuse katkestamine tuleneb märkimisväärsetest arvutustest NSEC3 (Next Secure v3) Records'i hashide arvutamisel spetsiaalselt kujundatud DNSSEC vastuste töötlemisel. Rünnakumeetod sarnaneb esimeses haavatavuses kirjeldatule, välja arvatud see, et ründaja loob DNS-serveris spetsiaalselt kujundatud NSEC3 RRSETi.

On märgitud, et eeltoodud haavatavuste ilmumine on põhjustatud DNSSEC-i spetsifikatsioonis defineeritud võimalusest, et DNS-server saadab kõikide saadaolevate krüptograafiliste võtmete üles, samas kui resolverid peavad töötlema kõik saadud võtmed kuni kontrolli edukas lõpetamiseni või kuni kõik saadud võtmed on kontrollitud.

Haavatavuste blokimiseks resolverites on piiratud maksimaalne DNSSEC võtmete arv, mis osaleb usalduse ahela koostamises, ning NSEC3 häsituste arv, samuti on piiratud iga RRSET-i (võtme ja allkirjade kombinatsioonid) ja iga vastuse kontrollimise korduskatsete arv. serverile.

Haavatavused on kõrvald выттud Unbound (1.19.1), PowerDNS Recursor (4.8.6, 4.9.3, 5.0.2), Knot Resolver (5.7.1), dnsmasq (2.90) ja BIND (9.16.48, 9.18.24 ja 9.19.21) värskendustes. Haavatavuste kõrvaldamise staatust distributsioonides saab hinnata järgmistelt lehtedelt: Debian, Ubuntu, SUSE, RHEL, Fedora, Arch Linux, Gentoo, Slackware, NetBSD, FreeBSD.

BINDi DNS-serveri versioonides 9.16.48, 9.18.24 ja 9.19.21 on samuti kõrvaldatud veel mitu haavatavust:

  • CVE-2023-4408 — suurte DNS-sõnumite analüüsimine võib põhjustada kõrge koormuse tekkimist CPU-le.
  • CVE-2023-5517 — spetsiaalselt kujundatud tagasipöördumise ala päring võib põhjustada programmivea, kuna assert kontrollimise aktiveerimine toimub. Probleem ilmneb üksnes seadistustes, kus on lubatud "nxdomain-redirect".
  • CVE-2023-5679 — rekursiivne hosti määramine võib põhjustada programmivea, kuna assert kontrollimise aktiveerimine toimub süsteemides, kus on lubatud DNS64 ja "serve-stale" (seadistused, stale-cache-enable ja stale-answer-enable).
  • CVE-2023-6516 — spetsiaalselt kujundatud rekursiivsed päringud võivad põhjustada protsessile kergelt kätte saada oleva mälu ammendumise.

Allikas: opennet.ru

Osta usaldusväärne veebihosting DDoS kaitsega, VPS VDS serverid 🔥 Osta usaldusväärne veebihosting DDoS kaitsega, VPS VDS serverid | ProHoster