Un overflow dell’heap in DNSSEC di Unbound espone i resolver vulnerabili al rischio di esecuzione di codice da remoto

Unbound 1.26.1 corregge CVE-2026-81642, overflow heap DNSSEC da 9,1 che permette DoS e RCE via zona malevola. Aggiornare subito.

Testo generato da intelligenza artificiale, pubblicato senza revisione umana. Trasparenza IA

Un overflow dell’heap in DNSSEC di Unbound espone i resolver vulnerabili al rischio di esecuzione di codice da remoto
Vulnerabilità

Immagine illustrativa generata con AI

NLnet Labs ha corretto una vulnerabilità critica di corruzione della memoria in Unbound, attivabile tramite una zona DNS malevola. Il difetto interessa tutte le versioni di Unbound precedenti alla 1.26.1 e può consentire un denial of service o l’esecuzione di codice da remoto su un resolver vulnerabile.

Identificata come CVE-2026-81642, la vulnerabilità ha ottenuto un punteggio CVSS 4.0 pari a 9,1 ed è classificata come overflow di un buffer basato sull’heap secondo CWE-122. La scheda del CVE Program è stata pubblicata e aggiornata il 16 settembre 2026.

Unbound 1.26.1 contiene la correzione. Risolve inoltre altre otto CVE, tra cui un distinto problema di corruzione dell’heap che in alcuni ambienti può consentire l’esecuzione di codice.

Un record DNSKEY malevolo può corrompere la memoria dell’heap

CVE-2026-81642 risiede nel validatore DNSSEC di Unbound, il componente responsabile dell’autenticazione dei dati DNS tramite firme crittografiche e catene di trust.

La condizione vulnerabile si verifica quando Unbound elabora un record DNSKEY appositamente costruito. Il suo owner name contiene un puntatore di compressione DNS diretto all’RDATA dello stesso record, anziché a una posizione esterna valida. Quando il validatore analizza questa struttura malformata, può scrivere oltre i limiti del buffer allocato nell’heap.

L’attaccante deve avere il controllo di una zona DNS malevola e un modo per indurre il resolver Unbound preso di mira a interrogare quella zona. L’attacco è raggiungibile via rete e non richiede credenziali né interazione da parte dell’utente.

Un tentativo riuscito può mandare in crash il resolver, causando un denial of service. Poiché la memoria sovrascritta contiene dati controllati dall’attaccante, è considerata possibile anche l’esecuzione di codice da remoto. Il vettore CVSS 4.0 completo assegnato da NLnet Labs è:

CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:H/SI:H/SA:H/E:U/U:Red

L’intervallo interessato indicato nel record del CVE Program comprende Unbound dalla versione 0 fino a tutte le release precedenti alla 1.26.1. Sono incluse la 1.25.2 e la 1.26.0, quest’ultima rilasciata il 4 agosto.

L’aggiornamento alla 1.25.1 non è sufficiente. Quella release correggeva CVE-2026-33278, una diversa vulnerabilità critica del validatore DNSSEC, mentre CVE-2026-81642 è rimasta presente fino alla 1.26.0.

Non sono stati segnalati exploit

NLnet Labs non ha segnalato attacchi che sfruttino CVE-2026-81642. Anche i dati disponibili di CISA ne descrivono lo stato di sfruttamento come “nessuno”. Non è stato stabilito che la vulnerabilità faccia parte del catalogo Known Exploited Vulnerabilities di CISA e non è nota alcuna scadenza KEV per la remediation.

Non sono stati segnalati neppure indicatori di compromissione specifici che gli amministratori possano cercare. Le indicazioni per la risposta agli incidenti si limitano quindi alla telemetria convenzionale dei resolver, inclusi crash e riavvii inspiegabili, errori di corruzione della memoria e sequenze di query sospette che coinvolgono zone sconosciute.

L’assenza di casi di sfruttamento noti non riduce l’impatto tecnico. Durante la normale risoluzione DNS, un resolver può contattare infrastrutture authoritative controllate dall’attaccante e la vulnerabilità è raggiungibile senza una connessione autenticata al servizio Unbound.

Yuqi Qiu, insieme a Xiang Li presso l’AOSP Lab della Nankai University, ha segnalato il difetto a NLnet Labs l’11 agosto. NLnet Labs ha fornito una patch il giorno successivo e il segnalatore l’ha verificata il 13 agosto. Entrambi i ricercatori sono accreditati come scopritori.

La versione 1.26.1 chiude nove falle di sicurezza

CVE-2026-81642 è la più grave delle nove vulnerabilità risolte in Unbound 1.26.1. Diverse altre dipendono da specifici flag di compilazione, listener di protocollo o impostazioni del resolver.

Il secondo problema di sicurezza della memoria è CVE-2026-82717, una vulnerabilità ad alta gravità di corruzione dell’heap che si attiva durante la sintesi di un CNAME in una risposta upstream. Interessa le versioni fino alla 1.26.0 e può causare un denial of service. Su determinati sistemi e con specifiche opzioni di compilazione potrebbe essere possibile eseguire codice. Non sono stati segnalati casi di sfruttamento.

Le correzioni rimanenti sono:

  • CVE-2026-81634, con un punteggio di 7,5, può mandare in crash le versioni fino alla 1.26.0 quando un query name di 255 caratteri viene combinato con una risposta TCP di grandi dimensioni proveniente da un name server malevolo o da una risposta manomessa.
  • CVE-2026-77955, con un punteggio di 4,4, interessa le versioni dalla 1.13.2 alla 1.26.0 quando zonemd-check: yes è configurato al di sotto, ma non in corrispondenza, di un trust anchor. Può causare un denial of service e consentire temporaneamente la distribuzione di dati di zona manomessi prima del controllo ZONEMD.
  • CVE-2026-78227, con un punteggio di 6,5, interessa le versioni dalla 1.22.0 alla 1.26.0 compilate con --with-libngtcp2 e configurate con quic-port. L’impatto segnalato è un denial of service.
  • CVE-2026-80225, con un punteggio di 5,3, consente il degrado del servizio attraverso un flusso prolungato di nomi distinti e non memorizzati nella cache inviati tramite un’unica connessione TCP o DNS-over-TLS.
  • CVE-2026-82720, con un punteggio di 5,9, interessa le versioni dalla 1.12.0 alla 1.26.0 compilate con --with-libnghttp2 e configurate con https-port. Può causare un denial of service limitato.
  • CVE-2026-85501, con un punteggio di 5,3, riguarda le tecniche di complessità algoritmica ReTrap, tra cui TagTrap, DelegationTrap, NsecTrap e AdditionalTrap. Le zone malevole possono utilizzarle per degradare le prestazioni del resolver.
  • CVE-2026-77860 è un problema a bassa gravità che interessa le versioni dalla 1.20.0 alla 1.26.0. Il percorso serve-expired può eludere una contromisura DNSBomb e contribuire a un attacco di amplificazione del denial of service a impulsi.

Nell’ambito della remediation di ReTrap, Unbound ora disabilita per impostazione predefinita val-clean-additional. Di conseguenza, i dati DNSSEC nella sezione additional di una risposta non vengono più validati per impostazione predefinita.

Aggiornare o applicare le patch del fornitore

Gli amministratori dovrebbero installare Unbound 1.26.1 anziché affidarsi a modifiche della configurazione. NLnet Labs mette a disposizione il codice sorgente, gli hash, una firma PGP, gli installer per Windows e i binari Windows della release corretta.

Gli operatori che non possono effettuare subito l’aggiornamento possono applicare una patch all’albero dei sorgenti. Sono disponibili patch minime e complete per CVE-2026-81642, oltre a patch combinate che coprono tutte e nove le vulnerabilità. Un esempio di sequenza di installazione è:

patch -p1 < patch_CVE-2026-81642_with.diff
make install

NLnet Labs ha testato le patch autonome per CVE-2026-81642 e CVE-2026-82717 con Unbound 1.26.0. La compatibilità con altri rami di release non è stata specificata.

La disattivazione della validazione DNSSEC non deve essere considerata una soluzione alternativa confermata. Non esistono indicazioni consolidate del fornitore che dimostrino come questa modifica della configurazione impedisca in modo affidabile il percorso di codice vulnerabile. Le correzioni documentate sono l’aggiornamento o l’applicazione della patch.

I pacchetti delle distribuzioni potrebbero essere ancora indietro

La disponibilità di una correzione upstream non significa che ogni repository del sistema operativo la contenga già. Giovedì Debian indicava unbound 1.26.1-1 come corretto in unstable, mentre bookworm, trixie e forky risultavano ancora vulnerabili.

Gli amministratori dovrebbero verificare la versione effettivamente installata su ogni resolver, senza affidarsi esclusivamente allo stato degli aggiornamenti ordinari. Gli inventari dovrebbero includere anche appliance, distribuzioni embedded, container e servizi DNS gestiti al di fuori dei repository standard del sistema operativo.

Le impostazioni di compilazione e di runtime richiedono una verifica separata. Le distribuzioni che utilizzano --with-libngtcp2, --with-libnghttp2, quic-port, https-port, zonemd-check o serve-expired sono esposte ad altre vulnerabilità corrette nella stessa release.

I resolver ricorsivi esposti a Internet e i sistemi che elaborano query influenzate da utenti non affidabili dovrebbero avere la precedenza. Dopo l’applicazione della patch, gli operatori dovrebbero verificare che sia il daemon in esecuzione — non soltanto il database dei pacchetti — a riportare la versione 1.26.1 o una build corretta equivalente.

Leggi anche

Fonti

Questo articolo è una rielaborazione originale basata sulle fonti seguenti.

CVE trattate in questo articolo

Argomenti correlatiUnboundCVE-2026-81642vulnerabilità DNSSECoverflow heapesecuzione di codice da remotoresolver DNSUnbound 1.26.1
Torna alla home