THREATPORT/VULNERABILITY/CVE-2021-21295
MEDIUM SEVERITY

CVE-2021-21295

Netty vulnerability

CVSS
5.9
EPSS
18.9%
EPSS pct
97th
Exploited
No known
Netty is an open-source, asynchronous event-driven network application framework for rapid development of maintainable high performance protocol servers & clients. In Netty (io.netty:netty-codec-http2) before version 4.1.60.Final there is a vulnerability that enables request smuggling. If a Content-Length header is present in the original HTTP/2 request, the field is not validated by `Http2MultiplexHandler` as it is propagated up. This is fine as long as the request is not proxied through as HTTP/1.1. If the request comes in as an HTTP/2 stream, gets converted into the HTTP/1.1 domain objects (`HttpRequest`, `HttpContent`, etc.) via `Http2StreamFrameToHttpObjectCodec `and then sent up to the child channel's pipeline and proxied through a remote peer as HTTP/1.1 this may result in request smuggling. In a proxy case, users may assume the content-length is validated somehow, which is not the case. If the request is forwarded to a backend channel that is a HTTP/1.1 connection, the Content-Length now has meaning and needs to be checked. An attacker can smuggle requests inside the body as it gets downgraded from HTTP/2 to HTTP/1.1. For an example attack refer to the linked GitHub Advisory. Users are only affected if all of this is true: `HTTP2MultiplexCodec` or `Http2FrameCodec` is used, `Http2StreamFrameToHttpObjectCodec` is used to convert to HTTP/1.1 objects, and these HTTP/1.1 objects are forwarded to another remote peer. This has been patched in 4.1.60.Final As a workaround, the user can do the validation by themselves by implementing a custom `ChannelInboundHandler` that is put in the `ChannelPipeline` behind `Http2StreamFrameToHttpObjectCodec`.
Affected vendor
Netty
Affected product
Netty
CVSS vector
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:H/A:N
Weakness type (CWE)
Published
2021-03-09

Risk analysis

Based on its CVSS vector, this vulnerability is exploitable over the network, high attack complexity, requiring no privileges, no user interaction. Successful exploitation leads to high impact to integrity.

Its EPSS score of 18.9% reflects a moderate probability of exploitation activity in the wild over the next 30 days, placing it above 97% of all scored CVEs.

Check your external exposure to CVE-2021-21295

  • Confirm whether Netty Netty is running on any internet-facing host or subdomain.
  • Match discovered service fingerprints against the version affected by CVE-2021-21295.
  • Prioritise remediation if the asset is public, business-critical, or near authentication/payment flows.

How ThreatPort helps with CVE-2021-21295

ThreatPort's external attack surface scanner checks your internet-facing assets — agentlessly, from the outside in — for the exposed services and versions that CVE-2021-21295 affects, then prioritises the finding by real risk using CISA KEV and FIRST.org EPSS.

Run a free external exposure scan

Are you exposed to CVE-2021-21295?

Run an instant, non-intrusive external scan to check your attack surface for CVE-2021-21295.

Start free scan

No credit card. Agentless.