forked from DataDog/dd-trace-java
-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
CVE-2021-21295 (Medium) detected in netty-codec-http-4.1.34.Final.jar, netty-codec-http-4.1.43.Final.jar #145
Labels
Mend: dependency security vulnerability
Security vulnerability detected by WhiteSource
Comments
This was referenced Nov 3, 2021
This was referenced Apr 18, 2022
This was referenced May 5, 2022
This was referenced May 15, 2022
This was referenced Jul 8, 2022
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Labels
Mend: dependency security vulnerability
Security vulnerability detected by WhiteSource
0 participants
CVE-2021-21295 - Medium Severity Vulnerability
netty-codec-http-4.1.34.Final.jar
Netty is an asynchronous event-driven network application framework for rapid development of maintainable high performance protocol servers and clients.
Library home page: http://netty.io/
Path to vulnerable library: /home/wss-scanner/.ivy2/cache/io.netty/netty-codec-http/jars/netty-codec-http-4.1.34.Final.jar
Dependency Hierarchy:
netty-codec-http-4.1.43.Final.jar
Netty is an asynchronous event-driven network application framework for rapid development of maintainable high performance protocol servers and clients.
Library home page: https://netty.io/
Path to vulnerable library: /home/wss-scanner/.ivy2/cache/io.netty/netty-codec-http/jars/netty-codec-http-4.1.43.Final.jar
Dependency Hierarchy:
Found in HEAD commit: 2819174635979a19573ec0ce8e3e2b63a3848079
Found in base branch: master
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.) viaHttp2StreamFrameToHttpObjectCodec
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
orHttp2FrameCodec
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 customChannelInboundHandler
that is put in theChannelPipeline
behindHttp2StreamFrameToHttpObjectCodec
.Publish Date: 2021-03-09
URL: CVE-2021-21295
Base Score Metrics:
Type: Upgrade version
Origin: GHSA-wm47-8v5p-wjpj
Release Date: 2021-03-09
Fix Resolution (io.netty:netty-codec-http): 4.1.60.Final
Direct dependency fix Resolution (com.typesafe.play:play-netty-server_2.13): 2.8.16
Fix Resolution (io.netty:netty-codec-http): 4.1.60.Final
Direct dependency fix Resolution (com.typesafe.play:play-netty-server_2.13): 2.8.16
The text was updated successfully, but these errors were encountered: