CVE-2026-50020 json
Netty's HttpObjectDecoder skips arbitrary initial control characters when only initial CRLF characters are permitted
published 2026-06-12 4 mo ago modified 2026-09-10 1 mo ago also EUVD-2026-36468 , GHSA-hvcg-qmg6-jm4c
- cvss
- 5.3
- version 3.1, CNA
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 0.2%
- EPSS 0.2% chance of exploitation in 30 days, percentile 14%
- public exploits
- 0
- none known
Summary
Netty is a network application framework for development of protocol servers and clients. Prior to versions 4.1.135.Final and 4.2.15.Final, before reading the first request-line, `HttpObjectDecoder` skips every byte for which `Character.isISOControl(b)` is `true` (0x00–0x1F and 0x7F) as well as all whitespace. RFC 9112 §2.2 only asks servers to ignore empty CRLF lines preceding the request-line — a carefully scoped robustness allowance intended to handle HTTP/1.0 POST workarounds. Silently absorbing NUL bytes, SOH, STX, and other non-CRLF control characters goes significantly beyond this, and can be exploited for request-boundary confusion in pipelined or multiplexed transports where a front-end component treats those bytes differently. Versions 4.1.135.Final and 4.2.15.Final patch the issue.
Patch / fix
- maven io.netty:netty-codec-http 4.1.135.Final, 4.2.15.Final
- io.netty netty-codec-http 4.1.135.Final, 4.2.15.Final
- netty netty 4.1.135.Final, 4.2.15.Final
- netty-tcnative SLES for SAP 15 SP6, SLES for SAP 15 SP5, SLES for SAP 15 SP4 +8 more 2.0.79-150200.3.45.1
- netty SLE Module for Package Hub 15 SP7 4.1.135-150200.4.50.1
suse advisories SUSE-SU-2026:2802-1
- netty openSUSE Tumbleweed 4.1.135-1.1
opensuse advisories openSUSE-SU-2026:11033-1
Vendor advisories
What the vendors themselves say about their products: affected, fixed or not affected, and what to do.
red hat product security vex CVE-2026-50020 updated cvss 5.3
netty-codec-http: Netty: Data manipulation via request-boundary confusion in HttpObjectDecoder
-
Red Hat Cryostat 4 netty-codec-http Red Hat OpenShift Serverless openshift-serverless-1/kn-ekb-receiver-rhel9, openshift-serverless-1/kn-ekb-dispatcher-rhel9, openshift-serverless-1/kn-eventing-integrations-log-sink-rhel9, openshift-serverless-1/kn-eventing-integrations-aws-s3-sink-rhel9, openshift-serverless-1/kn-eventing-integrations-aws-sns-sink-rhel9, openshift-serverless-1/kn-eventing-integrations-aws-sqs-sink-rhel9, +4 more Red Hat AMQ Broker 7 netty-codec-http Red Hat AMQ Clients netty-codec-http Red Hat build of Apache Camel - HawtIO 4 netty-codec-http Red Hat build of Apache Camel 4 for Quarkus 3 netty-codec-httpaffected: workaround, no fix available “Fix deferred”
+14 more productsfewer
Red Hat build of Apache Camel for Spring Boot 4 netty-codec-http Red Hat build of Apicurio Registry 3 netty-codec-http Red Hat build of Debezium 3 netty-codec-http Red Hat Build of Keycloak netty-codec-http, rhbk-rhel9-operator, rhbk/keycloak-rhel9, rhbk-openshift-rhel9, rhbk/keycloak-rhel9-operator Red Hat Data Grid 8 netty-codec-http Red Hat Fuse 7 netty-codec-http Red Hat JBoss Enterprise Application Platform 7 netty-codec-http Red Hat JBoss Enterprise Application Platform 8 netty-codec-http Red Hat JBoss Enterprise Application Platform Expansion Pack netty-codec-http Red Hat OpenShift AI (RHOAI) rhoai/odh-modelmesh-rhel9, rhoai/odh-spark-operator-rhel9, rhoai/odh-trustyai-service-rhel9, rhoai/odh-openvino-model-server-rhel9, rhoai/odh-th06-cpu-torch210-py312-rhel9, rhoai/odh-th06-cpu-torch291-py312-rhel9, +3 more Red Hat OpenShift Dev Spaces devspaces/server-rhel9, devspaces/openvsx-rhel9, devspaces/jetbrains-ide-rhel9, devspaces/pluginregistry-rhel9, devspaces/multicluster-redirector-rhel9 Red Hat Single Sign-On 7 netty-codec-http Red Hat streams for Apache Kafka 2 netty-codec-http Red Hat streams for Apache Kafka 3 netty-codec-http -
Red Hat build of Quarkus 3.27.4.SP1 netty-codec-http 4.1.135.Final-redhat-00001fixed: vendor fix RHSA-2026:26018
-
Red Hat build of Quarkus 3.33.2.SP1 netty-codec-http 4.1.135.Final-redhat-00001fixed: vendor fix RHSA-2026:26017
-
Red Hat build of Quarkus 3.27.4.SP1 jna 5.8.0, db2 1.21.4, h2 2.3.230, y18n 5.0.8, cliui 8.0.1, guice 5.1.0, +1009 more Red Hat build of Quarkus 3.33.2.SP1 jna 5.8.0, bson 5.6.4, h2 2.4.240, y18n 5.0.8, cliui 8.0.1, guice 5.1.0, +1018 more Red Hat Enterprise Linux AI (RHEL AI) 3 bazel6, bazel7, bazel8 Red Hat Satellite 6 candlepin, candlepin-selinuxnot affected: vulnerable code not present
Red Hat CSAF VEX © Red Hat, Inc., from https://security.access.redhat.com/data/csaf/v2/vex/; changed: reduced to product statuses and remediations. CC BY 4.0 · csaf
CISA SSVC
- Exploitation
- Proof of concept is public
- Automatable
- yes
- Technical impact
- partial
- Assessed
- 4 mo ago
Exploit prediction
0.23% chance of exploitation in the next 30 days, higher than 14% of all scored CVEs (FIRST EPSS, 2026-11-08).
Exploits and checks
- github.com https://github.com/netty/netty/security/advisories/GHSA-hvcg-qmg6-jm4c referenced PoC, tagged "exploit" by a source, unverified
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CNA | 3.1 | 5.3 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N |
| GitHub | 3.1 | 5.3 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N |
Affected packages
| ecosystem | package | affected | fixed in |
|---|---|---|---|
| maven | io.netty:netty-codec-http | >=4.2.0.Final, <4.2.15.Final <4.1.135.Final |
4.2.15.Final 4.1.135.Final |
Affected products
- netty netty
Classification
- Weakness
-
- CWE-444 Inconsistent Interpretation of HTTP Requests
References
-
github.com
/netty/netty/security/advisories/GHSA-hvcg-qmg6-jm4c
exploit, web, vendor-advisory
-
github.com
/netty/netty/releases/tag/netty-4.1.135.Final
web, release-notes
-
github.com
/netty/netty/releases/tag/netty-4.2.15.Final
web, release-notes
-
nvd.nist.gov
/vuln/detail/CVE-2026-50020
advisory
-
github.com
/netty/netty
package
Sources
- CVE List CVE-2026-50020
- GitHub Advisory GHSA-hvcg-qmg6-jm4c
- NVD CVE-2026-50020
Fencer Vulns keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.
CPEs and fixed versions use Anchore's correction of NVD's data: Added CPE configurations because not yet analyzed by NVD.