Kerentanan KeyTrap dan NSEC3 memengaruhi sebagian besar implementasi DNSSEC

Dua kerentanan telah diidentifikasi dalam berbagai implementasi protokol DNSSEC, yang memengaruhi BIND, PowerDNS, dnsmasq, Knot Resolver, dan Resolver DNS Tidak Terikat. Kerentanan dapat menyebabkan penolakan layanan untuk penyelesai DNS yang melakukan validasi DNSSEC dengan menyebabkan beban CPU tinggi yang mengganggu pemrosesan kueri lainnya. Untuk melakukan serangan, cukup mengirim permintaan ke penyelesai DNS menggunakan DNSSEC, yang mengarah ke panggilan ke zona DNS yang dirancang khusus di server penyerang.

Masalah yang teridentifikasi:

  • CVE-2023-50387 (nama kode KeyTrap) – Saat mengakses zona DNS yang dirancang khusus, hal ini menyebabkan penolakan layanan karena beban CPU yang signifikan dan waktu eksekusi pemeriksaan DNSSEC yang lama. Untuk melakukan serangan, perlu menempatkan zona domain dengan pengaturan berbahaya pada server DNS yang dikendalikan oleh penyerang, dan juga untuk memastikan bahwa zona ini diakses oleh server DNS rekursif, penolakan layanan yang dicari penyerang. .

    Pengaturan berbahaya melibatkan penggunaan kombinasi kunci yang bertentangan, catatan RRSET, dan tanda tangan digital untuk suatu zona. Mencoba memverifikasi menggunakan kunci ini menghasilkan operasi yang memakan waktu dan intensif sumber daya yang dapat memuat CPU sepenuhnya dan memblokir pemrosesan permintaan lain (misalnya, diklaim bahwa dalam serangan terhadap BIND dimungkinkan untuk menghentikan pemrosesan dari permintaan lain selama 16 jam).

  • CVE-2023-50868 (nama kode NSEC3) adalah penolakan layanan karena komputasi signifikan yang dilakukan saat menghitung hash dalam catatan NSEC3 (Next Secure v3) saat memproses respons DNSSEC yang dibuat khusus. Metode serangannya mirip dengan kerentanan pertama, kecuali kumpulan data RRSET NSEC3 yang dirancang khusus dibuat di server DNS penyerang.

Perlu dicatat bahwa munculnya kerentanan yang disebutkan di atas disebabkan oleh definisi dalam spesifikasi DNSSEC tentang kemampuan server DNS untuk mengirim semua kunci kriptografi yang tersedia, sedangkan penyelesai harus memproses setiap kunci yang diterima hingga pemeriksaan berhasil diselesaikan atau semua kunci yang diterima telah diverifikasi.

Sebagai tindakan untuk memblokir kerentanan, penyelesai membatasi jumlah maksimum kunci DNSSEC yang terlibat dalam proses rantai kepercayaan dan jumlah maksimum penghitungan hash untuk NSEC3, dan juga membatasi percobaan ulang verifikasi untuk setiap RRSET (kombinasi tanda tangan kunci) dan setiap respons server.

Kerentanan diperbaiki dalam pembaruan untuk Unbound (1.19.1), PowerDNS Recursor (4.8.6, 4.9.3, 5.0.2), Knot Resolver (5.7.1), dnsmasq (2.90) dan BIND (9.16.48, 9.18.24 .9.19.21 dan XNUMX). Status kerentanan dalam distribusi dapat dinilai di halaman berikut: Debian, Ubuntu, SUSE, RHEL, Fedora, Arch Linux, Gentoo, Slackware, NetBSD, FreeBSD.

Server DNS BIND versi 9.16.48, 9.18.24 dan 9.19.21 juga memperbaiki beberapa kerentanan lainnya:

  • CVE-2023-4408 Mengurai pesan DNS berukuran besar dapat menyebabkan beban CPU yang tinggi.
  • CVE-2023-5517 - Permintaan untuk zona mundur yang dibuat khusus dapat menyebabkan error karena pemeriksaan tegas dipicu. Masalahnya hanya muncul pada konfigurasi dengan pengaturan β€œnxdomain-redirect” diaktifkan.
  • CVE-2023-5679 – Deteksi host rekursif dapat menyebabkan crash karena pemeriksaan tegas dipicu pada sistem dengan dukungan DNS64 dan β€œserve-stale” diaktifkan (pengaturan, stale-cache-enable dan stale-answer-enable).
  • CVE-2023-6516 Kueri rekursif yang dibuat khusus dapat menyebabkan proses menghabiskan memori yang tersedia untuk kueri tersebut.

Sumber: opennet.ru

Tambah komentar