CVE-2026-73508
Java Analyse et atténuation des vulnérabilités

Aperçu

CVE-2026-73508 is a memory leak vulnerability in Netty's DNS codec that allows unauthenticated remote attackers to cause a gradual Denial of Service by sending malformed DNS packets containing invalid domain names. The flaw affects Netty versions prior to 4.1.136.Final and versions 4.2.0.Final through 4.2.15.Final. It was disclosed on July 23, 2026 via a GitHub Security Advisory and assigned a CVSS v3.1 base score of 5.3 (Medium) (GitHub Advisory).

Détails techniques

The root cause is a missing release of ByteBuf objects (CWE-772) in three locations within Netty's DNS codec. In io.netty.handler.codec.dns.AbstractDnsRecord, when IDN.toASCII() throws an IllegalArgumentException due to an IDNA-violating domain name, the constructor exits before the buffer can be assigned to the DnsRecord's content field, leaving the retained or newly allocated ByteBuf unreleased. Similarly, DefaultDnsRecordDecoder.decodeRecord() calls in.retainedDuplicate() or allocates a new buffer when constructing DefaultDnsRawRecord, and DnsCodecUtil.decompressDomainName() allocates a new ByteBuf that leaks if encodeDomainName() throws due to a null byte (\0) in the decompressed domain name. The fix wraps buffer allocations in try/finally blocks to ensure release on exception (GitHub Advisory, Commit 5b68c61).

Impact

Successful exploitation causes incremental direct memory leakage with each malformed DNS packet processed, leading to gradual resource exhaustion and eventual Denial of Service. Any application using Netty's DnsRecordDecoder — including those using DnsNameResolver or custom DNS servers built on Netty — is affected. There is no confidentiality or integrity impact; the vulnerability is limited to availability (GitHub Advisory).

Exploitabilité

No public exploit code or in-the-wild exploitation has been reported. The vulnerability is automatable (no user interaction or privileges required), making it straightforward for an attacker to send a sustained stream of crafted DNS packets to exhaust memory. The EPSS score is approximately 0.333%, indicating low but non-negligible exploitation probability. It is not listed in the CISA Known Exploited Vulnerabilities catalog (GitHub Advisory).

Étapes d’exploitation

  1. Identify target: Locate services using Netty's DNS codec (e.g., applications using DnsNameResolver or custom DNS servers built on Netty versions < 4.1.136.Final or 4.2.0.Final–4.2.15.Final) via network scanning or service fingerprinting.
  2. Craft malformed DNS packets: Construct DNS response packets containing resource records (e.g., CNAME, NS, MX, or generic records) with domain names that violate IDNA rules (e.g., characters rejected by IDN.toASCII()) or contain null bytes (\0) in compressed domain name fields.
  3. Send sustained packet stream: Transmit a continuous stream of these malformed DNS packets to the target service over UDP or TCP port 53 (or the application's configured DNS port). Each packet causes a small, unreleased ByteBuf allocation in direct memory.
  4. Exhaust direct memory: Over time, the accumulated unreleased buffers exhaust the JVM's direct memory pool, causing the application to throw OutOfMemoryError or become unresponsive, achieving Denial of Service (GitHub Advisory).

Indicateurs de compromis

  • Logs: JVM logs or application logs showing repeated java.lang.IllegalArgumentException from IDN.toASCII() or encodeDomainName() within Netty DNS codec classes (AbstractDnsRecord, DefaultDnsRecordDecoder, DnsCodecUtil).
  • Logs: java.lang.OutOfMemoryError: Direct buffer memory errors in application logs, indicating exhaustion of off-heap memory.
  • Network: High volume of DNS packets with malformed or IDNA-invalid domain names arriving at the application's DNS listener port.
  • Process: Steadily increasing direct memory usage (observable via JVM metrics such as java.nio:type=BufferPool,name=direct MBean) without corresponding release, even under stable load.

Atténuation et solutions de contournement

Upgrade to Netty 4.1.136.Final (for the 4.1.x branch) or 4.2.16.Final (for the 4.2.x branch), which include fixes that wrap ByteBuf allocations in try/finally blocks to ensure proper release on exception. No configuration-based workaround is available; upgrading is the only remediation. Applications using DnsNameResolver or any custom DNS server built on Netty should prioritize this update (GitHub Advisory, Release 4.1.136.Final, Release 4.2.16.Final).

Réactions de la communauté

The advisory was published by Netty maintainer chrisvest on GitHub, with credit to reporter violetagg. The fix was included as part of a broader security batch commit addressing multiple Netty codec vulnerabilities. No significant independent researcher commentary or media coverage has been identified beyond standard vulnerability tracking (GitHub Advisory).

Ressources additionnelles


SourceCe rapport a été généré à l’aide de l’IA

Apparenté Java Vulnérabilités:

Identifiant CVE

Sévérité

Score

Technologies

Nom du composant

Exploit CISA KEV

A corrigé

Date de publication

CVE-2026-76904CRITICAL9.8
  • Java logoJava
  • org.geotools.jdbc:gt-jdbc-postgis
NonOuiAug 21, 2026
CVE-2026-54049HIGH8.7
  • Java logoJava
  • org.sakaiproject.conversations:sakai-conversations-impl
NonNonAug 24, 2026
CVE-2026-54556HIGH8.2
  • Java logoJava
  • org.http4s:http4s-ember-core_2.13
NonOuiAug 26, 2026
CVE-2026-54550HIGH7.4
  • Java logoJava
  • org.codehaus.izpack:izpack-installer
NonNonAug 26, 2026
CVE-2026-54050MEDIUM6.5
  • Java logoJava
  • org.sakaiproject.profile2:profile2-impl
NonOuiAug 24, 2026

Évaluation gratuite des vulnérabilités

Évaluez votre posture de sécurité dans le cloud

Évaluez vos pratiques de sécurité cloud dans 9 domaines de sécurité pour évaluer votre niveau de risque et identifier les failles dans vos défenses.

Demander une évaluation

Obtenez une démo personnalisée

Prêt(e) à voir Wiz en action ?

"La meilleure expérience utilisateur que j’ai jamais vue, offre une visibilité totale sur les workloads cloud."
David EstlickRSSI
"Wiz fournit une interface unique pour voir ce qui se passe dans nos environnements cloud."
Adam FletcherChef du service de sécurité
"Nous savons que si Wiz identifie quelque chose comme critique, c’est qu’il l’est réellement."
Greg PoniatowskiResponsable de la gestion des menaces et des vulnérabilités