A különböző DNSSEC protokollok megvalósításaiban két sebezhetőséget azonosítottak, amelyek a BIND, PowerDNS, dnsmasq, Knot Resolver és Unbound DNS-eredménykeresőket érintik. Ezek a sebezhetőségek szolgáltatásmegtagadást okozhatnak a DNSSEC-validációt végző DNS-eredménykeresőkben, mivel a megnövekvő CPU-terhelés megakadályozza más kérések feldolgozását. A támadáshoz elegendő, ha egy DNSSEC-et használó DNS-eredménykeresőnek elküldenek egy olyan lekérdezést, amely egy támadó által gondosan megformált DNS-zónára irányít.
Az azonosított problémák:
- CVE-2023-50387 (kódnév KeyTrap) — a gondosan megformált DNS-zónák lekérdezése szolgáltatásmegtagadáshoz vezet a CPU-ra gyakorolt jelentős terhelés és a DNSSEC ellenőrzésének hosszú ideje miatt. A támadás végrehajtásához a támadónak egy kártékony beállításokkal rendelkező domain zónát kell elhelyeznie a saját DNS-szerverén, és el kell érnie, hogy a rekurszív DNS-eredménykereső e zónához forduljon, amelynek szolgáltatásmegtagadását a támadó eléri.
A kártékony beállítások a zónában összeférhetetlen kulcsok, RRSET rekordok és digitális aláírások kombinációjának használatára korlátozódnak. Az ezen kulcsokkal való ellenőrzési kísérlet hosszú, erőforrásigényes műveletek végrehajtásához vezet, amelyek teljesen leterhelhetik a CPU-t, és blokkolhatják más kérések feldolgozását (például állítják, hogy a BIND elleni támadás során más kérések feldolgozását 16 órán át leállították).
- CVE-2023-50868 (kódnév NSEC3) — szolgáltatásmegtagadás, amely a NSEC3 (Next Secure v3) rekordokban található hashek becslésének jelentős számítási igénye miatt jelentkezik, miközben gondosan megformált DNSSEC válaszokat dolgoznak fel. A támadási módszer hasonló az első sebezhetőséghez, kivéve azt, hogy a támadó DNS-szerverén egy gondosan megformált NSEC3 RRSET rekordkészlet kerül létrehozásra.
Megjegyezzük, hogy a fent említett sebezhetőségek megjelenését a DNSSEC specifikációjában az a lehetőség okozta, amely lehetővé teszi a DNS-szerver számára, hogy minden elérhető kriptográfiai kulcsot elküldjön, míg a válaszolóknak bármilyen kapott kulcsot kezelniük kell, amíg az ellenőrzés sikeresen be nem fejeződik, vagy az összes kapott kulcsot ellenőrzik.
A DNSSEC kulcslánc építési folyamatában használt kulcsok maximális számának és az NSEC3 hash számítások maximális számának korlátozásával, valamint az egyes RRSET-ek (kulcsok és aláírások kombinációi) és minden válasz esetén a vizsgálatok újrapróbálkozásainak limitálásával végrehajtott intézkedések a sebezhetőségek blokkolására. a szerver.
A sebezhetőségeket az Unbound (1.19.1), PowerDNS Recursor (4.8.6, 4.9.3, 5.0.2), Knot Resolver (5.7.1), dnsmasq (2.90) és BIND (9.16.48, 9.18.24 és 9.19.21) frissítéseiben kijavították. A disztribúciók sebezhetőségeinek állapota ezen az oldalakon értékelhető: Debian, Ubuntu, SUSE, RHEL, Fedora, Arch Linux, Gentoo, Slackware, NetBSD, FreeBSD.
A BIND DNS-szerver 9.16.48, 9.18.24 és 9.19.21 verzióiban további sebezhetőségeket is megszüntettek:
- CVE-2023-4408 — Nagy DNS-üzenetek feldolgozása CPU-terhelést okozhat.
- CVE-2023-5517 — Különlegesen kialakított visszavont zónára irányuló kérés összeomláshoz vezethet az assert-ellenőrzés megvalósítása miatt. A probléma csak az 'nxdomain-redirect' beállítással rendelkező konfigurációkban jelentkezik.
- CVE-2023-5679 — Rekurzív host meghatározás összeomláshoz vezethet az assert-ellenőrzés előírásának becsúszása miatt DNS64 támogatást és 'serve-stale'-t alkalmazó rendszereken (a stale-cache-enable és stale-answer-enable beállításokkal).
- CVE-2023-6516 — Különlegesen tervezték, hogy a rekurszív kérések kimeríthetik a folyamat elérhető memóriáját.
Forrás: opennet.ru
