
Unbound DNS: la patch 1.26.1 corregge una grave vulnerabilità di esecuzione di codice
NLnet Labs ha corretto una grave vulnerabilità di heap overflow nel validatore DNSSEC di Unbound nella versione 1.26.1, uno dei nove difetti risolti; nessun sfruttamento segnalato.
NLnet Labs, l'organizzazione che mantiene il resolver DNS Unbound, ha pubblicato mercoledì un avviso che segnala come ogni versione del software rilasciata prima della 1.26.1 contenga un grave heap overflow nel suo validatore DNSSEC. Un resolver DNS è il software che cerca un nome di dominio e restituisce l'indirizzo internet corrispondente, quindi si trova tra gli utenti e quasi tutti i siti web che raggiungono. DNSSEC è un insieme di firme crittografiche che consentono a un resolver di dimostrare che una risposta proviene realmente dal proprietario di un dominio. Un heap overflow significa che un programma scrive più dati in una sezione di memoria di quanta ne possa contenere, corrompendo ciò che si trova accanto. La vulnerabilità è tracciata come CVE-2026-81642.
Secondo l'avviso, un attaccante che controlla una zona malevola e interroga un resolver vulnerabile può innescare l'overflow. Il dettaglio è importante: l'overflow si verifica mentre il validatore elabora un record DNSKEY il cui nome del proprietario è un puntatore di compressione verso i dati del record stesso. I record DNSKEY contengono le chiavi pubbliche usate per firmare una zona, e un puntatore di compressione è un breve riferimento che indica a un parser di riutilizzare un nome già letto in precedenza nello stesso messaggio. NLnet Labs classifica l'impatto come denial of service, ovvero il resolver può essere messo fuori uso, con possibile esecuzione di codice remoto tramite dati controllati dall'attaccante. L'esecuzione di codice remoto è il risultato più grave, perché significa che un attaccante può far eseguire alla macchina codice di sua scelta.
NLnet Labs valuta il bug come Critico con un punteggio CVSS di 4.0 (9.1). CVSS è un metodo standard per valutare la gravità di una vulnerabilità, e il punteggio dell'avviso descrive un vettore di attacco di rete che non richiede privilegi né interazione dell'utente, quindi l'attaccante non ha bisogno di un account sulla macchina né dell'aiuto della vittima. Il National Vulnerability Database degli Stati Uniti ha elencato il CVE come "Awaiting Analysis" mercoledì, il che significa che il valore 9.1 è una valutazione del manutentore e non è stata verificata in modo indipendente.
La versione 1.26.1 corregge altri otto difetti oltre a CVE-2026-81642. Uno di questi, CVE-2026-82717, è un bug di corruzione dell'heap nella sintesi CNAME, ovvero come un resolver costruisce una risposta CNAME, il tipo di record DNS che punta un nome verso un altro. NLnet Labs attribuisce la segnalazione a Ben Morris di Anthropic e valuta il problema come Alto, affermando che potrebbe anche portare all'esecuzione di codice remoto in determinati sistemi e opzioni di compilazione. Nessuno dei due bug è stato segnalato come sfruttato, e CISA, l'agenzia per la cybersecurity e la sicurezza delle infrastrutture degli Stati Uniti, ha indicato lo sfruttamento di CVE-2026-81642 come "none" nella sua voce per il CVE mercoledì.
Tutte le versioni fino alla 1.26.0 inclusa sono interessate, comprese la 1.25.2, la versione di sicurezza di luglio, e la 1.26.0, rilasciata il 4 agosto. Il bug critico del validatore corretto da NLnet Labs a maggio, CVE-2026-33278, è una vulnerabilità diversa, e l'aggiornamento 1.25.1 che lo correggeva non risolve questo, quindi chi ha applicato la patch a maggio ha ancora lavoro da fare. NLnet Labs non allega alcuna condizione di configurazione all'intervallo interessato, e non ha detto se un resolver con la validazione DNSSEC disattivata sia raggiungibile.
Unbound 1.26.1 è disponibile come sorgente, con checksum e firma PGP, e come installer e binari per Windows. I checksum e una firma PGP consentono a un amministratore di confermare che un download sia arrivato integro e provenga realmente dal manutentore. I team che non possono aggiornare subito hanno un'altra strada: l'avviso fornisce due modi per applicare la patch al codice sorgente. Uno è applicare la patch minima o la patch completa per il solo CVE-2026-81642 con patch -p1, ad esempio patch -p1 < patch_CVE-2026-81642_with.diff, poi eseguire make install. L'altro è applicare invece la patch combinata che copre tutte e nove le correzioni, e esiste anche una versione minima di quella patch combinata. NLnet Labs afferma che le patch autonome per CVE-2026-81642 e CVE-2026-82717 sono state testate e funzionano sulla 1.26.0. La sua politica di sicurezza è di correggere l'ultima versione rilasciata, il che spiega perché i rami più vecchi non ricevono correzioni separate.
Le distribuzioni Linux sono ancora in fase di aggiornamento. Il security tracker di Debian elencava unbound 1.26.1-1 come corretto in unstable giovedì, con i rami bookworm, trixie e forky ancora elencati come vulnerabili. Ciò significa che una macchina su un ramo stabile di Debian potrebbe ancora eseguire un resolver vulnerabile anche se la correzione esiste a monte, quindi gli amministratori dovrebbero controllare il security tracker della propria distribuzione invece di dare per scontato che un aggiornamento sia già arrivato.
Le altre correzioni del pacchetto coprono una serie di problemi. CVE-2026-81634 è valutato Alto: un nome di query di lunghezza 255 combinato con una grande risposta TCP, proveniente da un server dei nomi malevolo o da una risposta manomessa, causa denial of service. CVE-2026-77955 è Medio e risale alla versione 1.13.2 fino alla 1.26.0 inclusa: nelle zone configurate con zonemd-check yes, esiste una finestra in cui dati di zona manomessi vengono serviti prima che venga eseguito il controllo ZONEMD. CVE-2026-78227, Medio e riguardante dalla 1.22.0 fino alla 1.26.0 inclusa, interessa build compilate con --with-libngtcp2 e una quic-port configurata, che possono essere spinte al denial of service.
Le voci rimanenti sono tutte Medio o Basso. CVE-2026-80225 interessa versioni fino alla 1.26.0 inclusa, dove un flusso sostenuto di nomi distinti non in cache su una singola connessione TCP o DoT degrada il servizio. CVE-2026-82720, dalla 1.12.0 fino alla 1.26.0 inclusa, interessa build realizzate con --with-libnghttp2 e una https-port configurata, con un impatto che NLnet Labs definisce limitato. CVE-2026-85501, fino alla 1.26.0 inclusa, riguarda zone malevole che servono attacchi di complessità algoritmica ReTrap denominati TagTrap, DelegationTrap, NsecTrap e AdditionalTrap. CVE-2026-77860, Basso e riguardante dalla 1.20.0 fino alla 1.26.0 inclusa, si trova nel percorso di codice serve-expired, dove aggira una contromisura aggiunta per DNSBomb e potrebbe partecipare a un attacco di amplificazione denial of service pulsante. Una modifica è un'impostazione predefinita piuttosto che una riparazione: la correzione ReTrap disattiva val-clean-additional, quindi Unbound non convalida più i dati DNSSEC nella sezione additional di una risposta per impostazione predefinita. La sezione additional contiene record extra che un resolver non aveva strettamente richiesto.
Il bug del validatore è stato segnalato a NLnet Labs l'11 agosto da Yuqi Qiu, che lo ha scoperto con Xiang Li presso l'AOSP Lab della Nankai University, secondo la cronologia nel record CVE. NLnet Labs ha condiviso una patch il giorno successivo e il segnalatore l'ha verificata il 13 agosto. La correzione è stata rilasciata cinque settimane dopo nel pacchetto 1.26.1. La politica di sicurezza di NLnet Labs afferma che per problemi non ancora pubblici mira a rilasciare correzioni "nell'ordine delle settimane".
Per i proprietari di siti web e i team IT, la domanda pratica è chi gestisce il resolver. Unbound è ampiamente utilizzato da aziende di hosting, provider internet e imprese che mantengono la propria infrastruttura DNS, e un resolver che gestisce molti clienti è un obiettivo più interessante di un singolo laptop. Se non gestisci Unbound da solo, chiedi a chi lo fa se la 1.26.1 è in uso; se lo gestisci, controlla se l'hai compilato con le opzioni sopra indicate, poiché diverse delle nove vulnerabilità si applicano solo a particolari configurazioni di build. Le organizzazioni che preferiscono non mantenere un resolver proprio possono considerare AEU DNS, un servizio DNS privato la cui pagina descrive esattamente ciò che offre, così la decisione può essere verificata rispetto al prodotto invece di essere presa sulla fiducia.
Come Proteggerti
- Chiedi al tuo provider di hosting o al tuo team IT se utilizzano il software Unbound DNS e se è già stato aggiornato alla versione 1.26.1.
- Attiva gli aggiornamenti di sicurezza automatici su qualsiasi server, computer o piano di hosting che gestisci, così correzioni come questa si installano da sole senza che nessuno debba ricordarsene.
- Se gestisci un tuo server, aggiorna Unbound alla 1.26.1 o applica la patch descritta nell'avviso il prima possibile.
- Se il tuo sito web o la tua email smettono improvvisamente di funzionare senza una ragione chiara, avvisa il tuo provider di hosting, perché un servizio di risoluzione dei nomi guasto può sembrare un normale disservizio.
- Verifica che la risoluzione dei nomi del tuo dominio sia gestita da un servizio che pubblica aggiornamenti di sicurezza, piuttosto che da un server di riserva in ufficio che nessuno mantiene.
Vulnerabilità e Soluzioni
- CVE-2026-33278 A separate critical Unbound validator flaw fixed in the 1.25.1 update in May, which does not fix CVE-2026-81642. Vedi la soluzione e i dettagli →
- CVE-2026-77860 A low severity issue in the serve-expired code path that bypasses a DNSBomb countermeasure and could take part in a pulsing denial of service amplification attack, fixed in Unbound 1.26.1. Vedi la soluzione e i dettagli →
- CVE-2026-77955 A medium severity issue in zones using zonemd-check where tampered zone data can be served before the check, fixed in Unbound 1.26.1. Vedi la soluzione e i dettagli →
- CVE-2026-78227 A medium severity denial of service in builds using --with-libngtcp2 with quic-port configured, fixed in Unbound 1.26.1. Vedi la soluzione e i dettagli →
- CVE-2026-80225 A medium severity degradation of service from a sustained stream of distinct uncached names over one TCP or DoT connection, fixed in Unbound 1.26.1. Vedi la soluzione e i dettagli →
- CVE-2026-81634 A high severity denial of service caused by a 255-length query name with a large TCP response, fixed in Unbound 1.26.1. Vedi la soluzione e i dettagli →
- CVE-2026-81642 A critical heap overflow in Unbound's DNSSEC validator, triggered by an attacker who controls a malicious zone, fixed in Unbound 1.26.1. Vedi la soluzione e i dettagli →
- CVE-2026-82717 A high severity heap corruption bug in CNAME synthesis, reported by Ben Morris of Anthropic, fixed in Unbound 1.26.1. Vedi la soluzione e i dettagli →
- CVE-2026-82720 A medium severity denial of service in builds using --with-libnghttp2 with https-port configured, fixed in Unbound 1.26.1. Vedi la soluzione e i dettagli →
- CVE-2026-85501 A medium severity degradation of service from ReTrap algorithmic complexity attacks (TagTrap, DelegationTrap, NsecTrap, AdditionalTrap), fixed in Unbound 1.26.1. Vedi la soluzione e i dettagli →
I Termini Spiegati
- DNS resolver Il software che prende il nome di un sito web che digiti e trova l'indirizzo numerico del computer che lo ospita.
- DNSSEC Un componente di sicurezza aggiuntivo per il sistema dei nomi di internet che usa firme digitali per dimostrare che la risposta su un indirizzo di un sito è autentica e non falsificata.
- heap overflow Un errore di programmazione in cui un software scrive più informazioni in un'area di memoria di quante ne possa contenere, rovinando ciò che è memorizzato accanto.
- remote code execution Un grave risultato di un attacco in cui qualcuno può far eseguire a un computer istruzioni di sua scelta a distanza, senza mai toccare la macchina.
- denial of service Un attacco che non ruba nulla ma impedisce a un servizio di rispondere, così gli utenti legittimi non possono raggiungerlo.
- CVE Common Vulnerabilities and Exposures, un catalogo pubblico in cui ogni vulnerabilità di sicurezza nota riceve un numero univoco così tutti possono riferirsi alla stessa.
- DNSKEY record Una voce nel sistema dei nomi che contiene la chiave pubblica usata per dimostrare che un nome di un sito e le sue risposte appartengono davvero al proprietario del dominio.