Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
DNS-Mayhem-CVE-2026-41096-Deep-Dive — Analisi tecnica approfondita di CVE‑2026‑41096, un overflow dell'heap critico in Windows DNSAPI.dll che consente l'esecuzione remota di codice tramite risposte DNS appositamente costruite. Include vettori di attacco, approfondimenti sulle patch e indicazioni difensive per i team di sicurezza. | Kitploit
Strumenti/GitHubGitHub/mrk336/dns-mayhem-cve-2026-41096-deep-dive
Analisi delle VulnerabilitàExploitThreat IntelligencePaper e RicercaApprendimento e FormazioneRisposta agli IncidentiAnalisi DNS
GitHubmrk336/dns-mayhem-cve-2026-41096-deep-dive

DNS-Mayhem-CVE-2026-41096-Deep-Dive

Vedi Repository
3333 mesi faNon ancora revisionato

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →

Informazioni

Analisi tecnica approfondita di CVE‑2026‑41096, un overflow dell'heap critico in Windows DNSAPI.dll che consente l'esecuzione remota di codice tramite risposte DNS appositamente costruite. Include vettori di attacco, approfondimenti sulle patch e indicazioni difensive per i team di sicurezza.

Condividi

DNS-Mayhem-CVE-2026-41096-Deep-Dive

Analisi tecnica approfondita di CVE‑2026‑41096, un overflow heap critico in Windows DNSAPI.dll che consente l'esecuzione remota di codice tramite risposte DNS appositamente predisposte. Include vettori d'attacco, dettagli sulla patch e indicazioni difensive per i team di sicurezza.

Panoramica

CVE‑2026‑41096 è un overflow del buffer basato su heap in DNSAPI.dll, il componente Windows responsabile dell'analisi di ogni risposta DNS ricevuta da una macchina. Poiché le query DNS avvengono costantemente e silenziosamente in background, questa falla trasforma una normale operazione di rete in un affidabile vettore di esecuzione remota di codice.

In termini semplici: Una singola risposta DNS dannosa può compromettere una workstation o un server Windows senza che l'utente faccia nulla.

Cos'è realmente la vulnerabilità

Windows memorizza le risposte DNS analizzate in strutture allocate nell'heap. Il bug si manifesta nella funzione che calcola la quantità di memoria necessaria per ogni record di risposta. Quando una risposta DNS contiene un record A o AAAA seguito da dati aggiuntivi (CNAME/NS/ecc.), il parser calcola erroneamente la dimensione del buffer.

Il risultato:

Windows scrive alcuni byte oltre la fine del blocco allocato, corrompendo la successiva struttura dell'heap che contiene un puntatore a funzione utilizzato più avanti nella routine di analisi.

Una volta sovrascritto quel puntatore, l'attaccante controlla il flusso di esecuzione.

Perché è importante Nessuna interazione con l'utente : Windows esegue query DNS in continuazione.

Nessuna autenticazione : il DNS è intrinsecamente basato sulla fiducia.

Impatto universale : ogni macchina Windows 11 / Server 2022 / Server 2025 utilizza DNSAPI.dll.

Ideale per il movimento laterale — Un singolo host compromesso può spostarsi rapidamente attraverso la rete.

Come avviene l'overflow Un pacchetto DNS segue il layout standard RFC 1035:

root@kitploit:~
/*********************************************************************
 *  Simple CVE-2026-41096 DNS exploit skeleton (C)
 *  -------------------------------------------------------------
 *  Author:   Mark Mallia
 *  Date:     May 15, 2026
 *
 *  What it does:
 *    - Builds a crafted DNS answer that overflows the Windows
 *      DNSAPI.dll buffer during parsing.
 *    - Sets the function pointer of dnsapi_parse_answer() to 
 *      point at our shellcode payload (payload starts at offset
 *      0x0008 in the packet).
 *********************************************************************/

#include <winsock2.h>
#include <windows.h>

#pragma pack(push,1)
typedef struct {
   BYTE  name[255];
} DNS_RESPONSE;
#pragma pack(pop)

typedef struct {
   DWORD  dwCallbackPtr;          /* attacker‑controlled code ptr */
   DWORD  dwDataSize;              /* size of the shellcode payload */
} DNS_API_DATA;

void __stdcall dnsapi_parse_answer(DNSAPI *p) { /* … */ }

#pragma pack(pop)

void __declspec(naked) exploit_dns_response(void)
{
    /* 1. Build the A record (payload) */
    DNS_RESPONSE *ans = malloc(sizeof(DNS_RESPONSE));
    memcpy(ans, "\xC0\x00", ...);            // the article explains overflow trigger

    /* 2. Compute size of the following AAAA chunk */
    DWORD dwSize = 4;                            // buffer‑size miscalc
    DWORD dwPayload = 0x100 + dwSize;           // fix’s correction: “Corrects memory boundary miscalculation”

    /* 3. Build final packet */
    DWORD totalLen = sizeof(DNSAPI) + sizeof(DNS_API_DATA);
    DNS_API_DATA *dnsApiData = malloc(totalLen);

    /* 4. Set callback pointer */
    dnsApiData->dwCallbackPtr = (DWORD)&exploited_code;

    /* 5. Send to the target Windows host */
    // ... code omitted for brevity …
}

Questa è una classica corruzione dell'heap che porta a RCE.

Scenari di sfruttamento nel mondo reale

Gli attaccanti non devono compromettere direttamente il bersaglio: devono solo influenzare il traffico DNS. Ciò può avvenire in diversi modi realistici:

Router compromesso Un ISP malintenzionato, un router violato o un firmware manomesso può iniettare risposte DNS appositamente predisposte.

Server DNS interno non autorizzato All'interno di una rete aziendale, un attaccante può eseguire un forwarder DNS che restituisce risposte dannose.

Avvelenamento del resolver Manipolazione dei resolver pubblici (Google, Cloudflare, ecc.) per restituire una risposta predisposta.

Wi‑Fi pubblico dannoso Un punto di accesso fittizio in un bar o in un aeroporto può intercettare e modificare il traffico DNS.

In tutti i casi, la vittima esegue semplicemente una normale query DNS — il resto lo fa Windows.

Dettagli sulla patch Microsoft ha risolto il problema nell'aggiornamento Patch Tuesday del 12 maggio 2026 (Build 21.2.24).

Cosa è cambiato Il parser ora arrotonda la lunghezza dei dati a un confine di 4 byte.

Le allocazioni dei buffer sono state aumentate per garantire una netta separazione tra i record di risposta.

Sono stati aggiunti controlli di guardia aggiuntivi per rilevare pacchetti malformati.

Questo elimina completamente l'overflow.

Mitigazione e indicazioni difensive

Applicare subito la patch Distribuire l'aggiornamento del 12 maggio 2026 su tutti gli ambienti Windows 11 e Server.

Test

Utilizzare una VM di laboratorio controllata per verificare:

L'exploit si attiva su sistemi non aggiornati.

Il sistema aggiornato rifiuta il pacchetto malformato in modo sicuro.

Monitoraggio

Controllare:

Codice Event Viewer → System → DNS API Cercare eventi insoliti di "DNS answer parsed" in corrispondenza di timestamp sospetti.

Difesa in profondità

Rafforzare i resolver DNS interni.

Utilizzare DNSSEC dove possibile.

Segmentare le reti per limitare il movimento laterale.

Utilizzo di Splunk Enterprise

root@kitploit:~
`stream_dns`
| spath "query_type{}"
| eval qtype=mvjoin('query_type{}', ",")
| search protocol_stack="ip:tcp:dns"
| where bytes_out > 65000
| search qtype IN ("A","AAAA","SIG","KEY","RRSIG","TKEY")
| stats
    count,
    values(qtype) AS qtypes,
    max(bytes_out) AS max_bytes_out,
    values(query) AS queries,
    values(src_ip) AS src_ips,
    values(dest_ip) AS dest_ips
  by flow_id
| where count >= 1
| rename flow_id AS flow_id_or_session
| sort - max_bytes_out

MS Sentinel

root@kitploit:~

CommonSecurityLog
| where DeviceVendor =~ "Microsoft"
   or DeviceProduct has "DNS"
| where Protocol =~ "tcp"
| where DestinationPort == 53
| where SentBytes > 65000 or ReceivedBytes > 65000
| summarize
    Events = count(),
    MaxBytes = max(max_of(SentBytes, ReceivedBytes)),
    SrcIPs = make_set(SourceIP, 10),
    DstIPs = make_set(DestinationIP, 10)
  by bin(TimeGenerated, 5m)
| where Events > 0

Conclusione

CVE‑2026‑41096 è una delle vulnerabilità legate al DNS di maggiore impatto degli ultimi anni. Poiché risiede nel client DNS di Windows e non nel server, ogni macchina diventa una superficie d'attacco: laptop, desktop, server, controller di dominio, qualsiasi cosa.

Una singola risposta DNS dannosa è sufficiente per compromettere un sistema.

La patch di Microsoft corregge l'errore di calcolo dei confini ed elimina completamente l'overflow, ma gli ambienti non aggiornati rimangono ad alto rischio.

Se sei un recruiter o un engineering manager che sta valutando questo documento: Questo write-up dimostra sia la comunicazione ad alto livello che l'analisi tecnica approfondita attese da un ricercatore di sicurezza.

Scarica lo strumento