Skip to main content

Netty CVE-2026-56817

HIGH
Improper Restriction of XML External Entity Reference (CWE-611)
2026-07-21 security-advisories@github.com GHSA-4qhr-g3c6-fcfx
8.3
CVSS 4.0 · Vendor: github
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Reach service using XmlDecoder pipeline
  2. Delivery
    Send XML with malicious DOCTYPE/external entity
  3. Exploit
    Aalto async parser resolves entity
  4. Execution
    Read local file or trigger internal request
  5. Impact
    Exfiltrate data out-of-band

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A02:2025 - Security Misconfiguration
ASVS 5.0
V13 - Configuration XML external entity prevention
MITRE ATT&CK

2 techniques across 2 tactics: Initial Access, Collection

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

Exploitation requires that the target application include io.netty.handler.codec.xml.XmlDecoder in a Netty channel pipeline and route attacker-deliverable bytes to it - this is an opt-in, non-default component, so a stock Netty user without the XML codec is not exposed. The attacker must be able to deliver XML containing a DOCTYPE/DTD declaration to that pipeline; no authentication or user interaction is indicated by the vector (PR:N/UI:N). The principal limiting factor, encoded as AT:P (attack requirement present) in the CVSS 4.0 vector, is that DTD and external-entity dereferencing is conditional on Aalto async parser behavior, so exploitation is not guaranteed on every request. Affected versions are limited to 4.2.0.Final-4.2.15.Final and 4.1.0.Final-4.1.135.Final.

Impact

The provided CVSS 4.0 vector (AV:N/AC:L/AT:P/PR:N/UI:N/VC:H/VI:N/VA:L, score 8.3) describes a network-reachable, unauthenticated, no-user-interaction issue whose main impact is confidentiality (VC:H, consistent with file/data disclosure via XXE) plus a minor availability effect (VA:L), and importantly carries AT:P - an attack requirement - reflecting the conditional 'depending on Aalto async parser behavior' language. That AT:P is the key nuance: raw severity looks high, but real exploitability hinges on both a non-default deployment (the application must place XmlDecoder in its pipeline and feed it attacker-controlled XML) and on parser behavior that may or may not dereference external entities. No EPSS score, SSVC decision, or KEV entry was provided in the input, and no public POC is referenced, so exploitation probability cannot be quantified from the data given. Net assessment: a genuinely serious class of bug where XmlDecoder is used, but the conditional trigger and the fact that most Netty deployments do not use the XML codec mean this is more of a patch-in-normal-cycle priority than an emergency for the majority of Netty users - those actually parsing untrusted XML through Netty should treat it as high priority.

Exploit ScenarioDerived

An application uses Netty's XmlDecoder to parse XML received over the network from untrusted clients. An attacker sends an XML document containing a DOCTYPE with an external entity pointing at a local file or an internal URL; if Aalto's async parser resolves the entity, the file contents or the result of the internal request are reflected back or exfiltrated out-of-band. No public POC is referenced in the provided data, and success depends on the conditional parser behavior captured by the AT:P metric.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
Patch available 0.6% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Jul 22, 2026

XML external entity exposure in the Netty network framework affects the optional XmlDecoder handler in versions 4.2.0.Final through 4.2.15.Final and 4.1.0.Final through 4.1.135.Final, where the underlying Aalto AsyncXMLInputFactory is instantiated without any security hardening. Any remote party able to push bytes into a channel pipeline that contains XmlDecoder can submit XML carrying a DOCTYPE/DTD declaration, and depending on Aalto async parser behavior DTD and entity processing remains active, creating a conditional path to reading local files or performing SSRF-style out-of-band requests. There is no public exploit identified at time of analysis, the issue is not on CISA KEV, and it is fixed in 4.1.136.Final and 4.2.16.Final.

RemediationAI

Vendor-released patch: upgrade to Netty 4.1.136.Final (for the 4.1.x line, https://github.com/netty/netty/releases/tag/netty-4.1.136.Final) or 4.2.16.Final (for the 4.2.x line, https://github.com/netty/netty/releases/tag/netty-4.2.16.Final), which configure the Aalto factory to disable DTD and external entity processing. If you cannot upgrade immediately, the concrete compensating control is to avoid feeding untrusted XML to XmlDecoder: remove XmlDecoder from pipelines that handle attacker-reachable input, or restrict those endpoints to trusted/authenticated sources so untrusted XML cannot reach the parser (trade-off: this may break legitimate XML-consuming clients). Where you construct the parser yourself, explicitly harden the AsyncXMLInputFactory by disabling SUPPORT_DTD and external entity resolution and enabling secure processing before it is used. Consult advisory GHSA-4qhr-g3c6-fcfx for details; the fix commits are 5b68c61f37aa4a3045cba624cbea239655c9003b and bb2ff68a1fb71cb4b0eb9a9e17b66c52aff680c6.

Affected Packages

maven io.netty:netty-codec-xml fix: 4.1.136.Final, 4.2.16.Final

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in maven

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

Netty is a widely used asynchronous event-driven Java network framework; the affected component is the io.netty.handler.codec.xml.XmlDecoder, a ChannelHandler that streams XML using the Aalto non-blocking XML parser exposed through com.fasterxml.aalto.AsyncXMLInputFactory. The root cause is CWE-611 (Improper Restriction of XML External Entity Reference): the factory is created with default settings and no calls to disable DTDs (SUPPORT_DTD), external general/parameter entities, or to enable secure processing, so a DOCTYPE declaration in attacker-supplied XML can drive the parser to resolve external entities. Because Aalto is an asynchronous parser, whether and how the external entity is actually dereferenced is dependent on Aalto's async parsing behavior, which is why the advisory describes the XXE as conditional rather than guaranteed. The fix hardens the factory configuration inside XmlDecoder so DTD/entity handling is disabled by default.

Know when Netty gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (github) PRIMARY 8.3 HIGH
CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:H/VI:N/VA:L/SC:N/SI:N/SA:N
vuln.today AI 6.5 MEDIUM

Network-reachable and unauthenticated (AV:N/PR:N/UI:N), but AC:H because it needs the non-default XmlDecoder plus conditional Aalto entity resolution; impact is mainly file disclosure (C:H) with minor availability (A:L).

3.1 AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:N/A:L
4.0 AV:N/AC:L/AT:P/PR:N/UI:N/VC:H/VI:N/VA:L/SC:N/SI:N/SA:N
SUSE 6.5 MEDIUM
AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:N/A:L
Red Hat 7.5 HIGH

Primary rating from Vendor (github).

CVSS VectorVendor: github

Attack Vector
Network
Attack Complexity
Low
Attack Requirements
Present
Privileges Required
None
User Interaction
None
Vulnerable system: Confidentiality
High
Vulnerable system: Integrity
None
Vulnerable system: Availability
Low
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

DescriptionCVE.org

Netty is a network application framework for development of protocol servers and clients. In versions 4.2.0.Final through 4.2.15.Final and 4.1.0.Final through 4.1.135.Final, any caller that can deliver bytes to a Netty channel pipeline containing XmlDecoder can send XML with a DOCTYPE declaration to an AsyncXMLInputFactory instantiated with no security configuration, leaving DTD and entity handling active depending on Aalto XML async parser behavior and creating conditional XML external entity risk. This issue is fixed in versions 4.1.136.Final and 4.2.16.Final.

Blast Radius

ecosystem impact
† from your stack dependencies † transitive graph · vuln.today resolves 4-path depth
  • 73 maven packages depend on io.netty:netty-codec-xml (1 direct, 72 indirect)

Ecosystem-wide dependent count for version 4.2.0.Final.

Executive ViewAI

Why It Matters

Organizations deploying the Netty network framework with XML processing capabilities face data exfiltration and lateral movement risks from a high-severity XML handling vulnerability (CVE-2026-56817). Affected versions 4.1.0-4.1.135 and 4.2.0-4.2.15 enable remote attackers to read sensitive files or redirect requests to attacker-controlled systems; no public exploit identified at time of analysis.

Business Impact: High
Compensating Controls

Apply vendor patch.

Threat Intelligence Overview

EPSS Score
0.6%
Top 57% exploitable
Prevalence
High
Netty is a core Java networking library, but the XML codec is rarely used
Threat Intel
1
1 source
Social Media
1
Sightings
Data Quality
6 sources
Confidence: High
NVD CVE.org EPSS Vulnrichment GHSA Vendor CIRCL GitHub VulDB

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity HIGH
CISA KEV No
Public POC No
EPSS 0.6%
Patch available Yes
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision
Scheduled
Exploitation
None
System Exposure· derived
Open
Automatable
Yes
Human Impact
High
Technical Impact
Partial

Priority Score

43
Low Medium High Critical
KEV: 0
EPSS: +1
CVSS: +42
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

XML External Entity (XXE) attacks exploit XML parsers that process Document Type Definitions (DTDs) without proper restrictions.

Affected Products (CPE)CVE.org

cpe:2.3:a:netty:netty:*:*:*:*:*:*:*:*
cpe:2.3:a:netty:netty:*:*:*:*:*:*:*:*

More in Netty

View all
CVE-2023-44487 HIGH POC
7.5 Oct 10

Denial of service against HTTP/2 server implementations allows remote unauthenticated attackers to exhaust server resour

CVE-2019-16869 HIGH POC
7.5 Sep 26

Netty before 4.1.42.Final mishandles whitespace before the colon in HTTP headers (such as a "Transfer-Encoding : chunked

CVE-2026-56820 CRITICAL POC
9.1 Jul 21

Certificate revocation-check bypass in the Netty network framework's OCSP client (io.netty:netty-handler-ssl-ocsp) affec

CVE-2024-36121 CRITICAL POC
9.1 Jun 04

netty-incubator-codec-ohttp is the OHTTP implementation for netty. Rated critical severity (CVSS 9.1), this vulnerabilit

CVE-2024-40642 HIGH POC
8.1 Jul 18

The netty incubator codec.bhttp is a java language binary http parser. Rated high severity (CVSS 8.1), this vulnerabilit

CVE-2025-24970 HIGH POC
7.5 Feb 10

Netty, an asynchronous, event-driven network application framework, has a vulnerability starting in version 4.1.91.Final

CVE-2026-59902 HIGH POC
7.5 Aug 17

Memory exhaustion in Netty's SctpMessageCompletionHandler (netty-transport-sctp) allows unauthenticated remote peers to

CVE-2026-55833 HIGH POC
7.5 Jul 20

Compression-amplification denial of service in the Netty network framework (versions prior to 4.1.136.Final and 4.2.16.F

CVE-2026-55831 HIGH POC
7.5 Jul 20

Memory-amplification denial of service in the Netty network framework (SPDY/3.1 codec) prior to 4.1.136.Final and 4.2.16

CVE-2026-56816 HIGH POC
7.5 Jul 21

Memory-exhaustion denial of service in Netty's HTTP/3 codec (Http3FrameCodec) affects all releases prior to 4.2.16.Final

CVE-2026-59903 HIGH POC
7.5 Aug 17

Netty's HTTP CORS handler silently rewrites the Vary response header to Vary: Origin in releases before 4.1.137.Final an

CVE-2026-48748 HIGH POC
7.5 Jun 12

Denial of service in the Netty HTTP/3 codec (io.netty:netty-codec-http3) prior to version 4.2.15.Final allows remote una

Vendor StatusVendor

SUSE

Severity: Moderate
Product Status
SUSE Linux Enterprise Desktop 15 SP7 Not-Affected
SUSE Linux Enterprise Desktop 15 SP7 Not-Affected
SUSE Linux Enterprise High Performance Computing 15 SP7 Not-Affected
SUSE Linux Enterprise High Performance Computing 15 SP7 Not-Affected
SUSE Linux Enterprise Module for Development Tools 15 SP7 Not-Affected

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy