← Tutti gli articoli

Unbound DNS: la patch 1.26.1 corregge una grave vulnerabilità di esecuzione di codice

Unbound DNS: la patch 1.26.1 corregge una grave vulnerabilità di esecuzione di codice

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.

Disponibile anche in: EnglishDeutschShqip