CVE-2021-21409
Possible request smuggling in HTTP/2 due missing validation of content-length
Reported by github_m · Published March 30, 2021
netty is fixed in 4.1.61 (Maven Central)
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.61.Final there is a vulnerability that enables request smuggling. The content-length header is not correctly validated if the request only uses a single Http2HeaderFrame with the endStream set to to true. This could lead to request smuggling if the request is proxied to a remote peer and translated to HTTP/1.1. This is a followup of GHSA-wm47-8v5p-wjpj/CVE-2021-21295 which did miss to fix this one case. This was fixed as part of 4.1.61.Final.
Fixed versions
Upgrade to a fixed version or later. Language registries are listed first, then Linux distributions, then vendor products.
| Package | Ecosystem | Fixed in |
|---|---|---|
| io.netty:netty | Maven Central | 4.1.61 |
| io.netty:netty-codec | Maven Central | 4.1.61 |
| io.helidon:helidon-dependencies | Maven Central | [2.4.0 |
| io.netty:netty-codec-http2 | Maven Central | 4.1.61.Final, 4.1.61 |
| io.netty:netty-codec-http | Maven Central | 4.1.61 |
| quarkus | quarkus | 1.13.7 |
| nosql_database | oracle | 21.1.12 |
| jd_edwards_enterpriseone_tools | oracle | 9.2.6.3 |
| netty | Ubuntu:Pro:16.04:LTS | 1:4.0.34-1ubuntu0.1~esm1 |
| netty | netty | 4.1.61 |
| netty | Ubuntu:Pro:18.04:LTS | 1:4.1.7-4ubuntu0.1+esm2 |
| netty | Ubuntu:Pro:20.04:LTS | 1:4.1.45-1ubuntu0.1~esm1 |
1 more packages have a fixed version. See every fix in Lookup.
Risk scores
Affected products
| Vendor | Product | Versions |
|---|---|---|
| netty | netty | < 4.1.61.Final |
| netty | netty | 0 |
Timeline
- Mar 30, 2021 CVE Published
- Apr 14, 2021 EPSS Score (30 in total, the first dated here)
- Mar 7, 2026 Distribution Patch (25 in total, the first dated here)
- Mar 7, 2026 Security Advisory (30 in total, the first dated here)
- Aug 26, 2026 Coalition ESS Score
Query this with the API
The same record, from the CLI:
vulnetix vdb vuln CVE-2021-21409
vulnetix vdb fixes CVE-2021-21409
Or with curl, using the org id and key from your account page:
curl -s -H "Authorization: ApiKey ${VULNETIX_ORG_ID}:${VULNETIX_API_KEY}" \
"https://api.vdb.vulnetix.com/v2/vuln/CVE-2021-21409/fixes/registry"
The Community plan is free and allows 50 queries a day. Get a free API key · API quickstart
References
- x_refsource_CONFIRM
- x_refsource_MISC
- x_refsource_MISC
- x_refsource_MISC
- DSA-4885 vendor-advisoryx_refsource_DEBIAN
- [zookeeper-dev] 20210407 [jira] [Created] (ZOOKEEPER-4278) dependency-check:check failing - netty-transport-4.1.60.Final CVE-2021-21409 mailing-listx_refsource_MLIST
- [zookeeper-issues] 20210407 [jira] [Assigned] (ZOOKEEPER-4278) dependency-check:check failing - netty-transport-4.1.60.Final CVE-2021-21409 mailing-listx_refsource_MLIST
- [zookeeper-issues] 20210407 [jira] [Created] (ZOOKEEPER-4278) dependency-check:check failing - netty-transport-4.1.60.Final CVE-2021-21409 mailing-listx_refsource_MLIST
- [zookeeper-issues] 20210408 [jira] [Comment Edited] (ZOOKEEPER-4278) dependency-check:check failing - netty-transport-4.1.60.Final CVE-2021-21409 mailing-listx_refsource_MLIST
- [zookeeper-issues] 20210408 [jira] [Commented] (ZOOKEEPER-4278) dependency-check:check failing - netty-transport-4.1.60.Final CVE-2021-21409 mailing-listx_refsource_MLIST
- [zookeeper-notifications] 20210408 [GitHub] [zookeeper] ayushmantri opened a new pull request #1678: ZOOKEEPER-4278: dependency-check:check failing - netty-transport-4.1.60.Final CVE-2021-21409 mailing-listx_refsource_MLIST
- [zookeeper-issues] 20210408 [jira] [Updated] (ZOOKEEPER-4278) dependency-check:check failing - netty-transport-4.1.60.Final CVE-2021-21409 mailing-listx_refsource_MLIST
- [zookeeper-notifications] 20210408 [GitHub] [zookeeper] arshadmohammad commented on pull request #1678: ZOOKEEPER-4278: dependency-check:check failing - netty-transport-4.1.60.Final CVE-2021-21409 mailing-listx_refsource_MLIST
- [zookeeper-commits] 20210408 [zookeeper] branch master updated: ZOOKEEPER-4278: dependency-check:check failing - netty-transport-4.1.60.Final CVE-2021-21409 mailing-listx_refsource_MLIST
- [zookeeper-issues] 20210408 [jira] [Resolved] (ZOOKEEPER-4278) dependency-check:check failing - netty-transport-4.1.60.Final CVE-2021-21409 mailing-listx_refsource_MLIST
- [zookeeper-commits] 20210408 [zookeeper] branch branch-3.6 updated: ZOOKEEPER-4278: dependency-check:check failing - netty-transport-4.1.60.Final CVE-2021-21409 mailing-listx_refsource_MLIST
- [zookeeper-commits] 20210408 [zookeeper] branch branch-3.7 updated: ZOOKEEPER-4278: dependency-check:check failing - netty-transport-4.1.60.Final CVE-2021-21409 mailing-listx_refsource_MLIST
- [zookeeper-issues] 20210408 [jira] [Assigned] (ZOOKEEPER-4278) dependency-check:check failing - netty-transport-4.1.60.Final CVE-2021-21409 mailing-listx_refsource_MLIST
- [zookeeper-notifications] 20210408 [GitHub] [zookeeper] asfgit closed pull request #1678: ZOOKEEPER-4278: dependency-check:check failing - netty-transport-4.1.60.Final CVE-2021-21409 mailing-listx_refsource_MLIST
- [zookeeper-commits] 20210408 [zookeeper] 01/02: ZOOKEEPER-4278: dependency-check:check failing - netty-transport-4.1.60.Final CVE-2021-21409 mailing-listx_refsource_MLIST
…and 39 more