Io.netty/netty-codec-http: netty rtspdecoder method-token smuggling via trailing control byte
Default status is the baseline for the product, each version can override it (e.g. patched versions marked unaffected).
| Vendor | Product | Default status | Versions | ||||||
|---|---|---|---|---|---|---|---|---|---|
| Red Hat | Red Hat Build of Apache Camel 3.33.3.SP2 | affected |
|
||||||
| Red Hat | Red Hat Build of Debezium 3.6 | unaffected | — | ||||||
| Red Hat | Red Hat build of Keycloak 26.4 | affected |
|
||||||
| Red Hat | Red Hat build of Keycloak 26.4 | affected |
|
||||||
| Red Hat | Red Hat build of Keycloak 26.4 | affected |
|
||||||
| Red Hat | Red Hat build of Keycloak 26.4.17 | unaffected | — | ||||||
| Red Hat | Red Hat build of Keycloak 26.6 | affected |
|
||||||
| Red Hat | Red Hat build of Keycloak 26.6 | affected |
|
||||||
| Red Hat | Red Hat build of Keycloak 26.6 | affected |
|
||||||
| Red Hat | Red Hat build of Keycloak 26.6.8 | unaffected | — | ||||||
| Red Hat | Red Hat build of Quarkus 3.27.5.SP2 | unaffected | — | ||||||
| Red Hat | Red Hat build of Quarkus 3.33.3.SP2 | unaffected | — | ||||||
| Red Hat | Red Hat JBoss Enterprise Application Platform 8.1 | unaffected | — | ||||||
| Red Hat | Red Hat AMQ Broker 7 | affected | — | ||||||
| Red Hat | Red Hat AMQ Clients | affected | — | ||||||
| Red Hat | Red Hat build of Apache Camel 4 for Quarkus 3 | affected | — | ||||||
| Red Hat | Red Hat build of Apache Camel for Spring Boot 4 | affected | — | ||||||
| Red Hat | Red Hat build of Apicurio Registry 3 | affected | — | ||||||
| Red Hat | Red Hat Data Grid 8 | affected | — | ||||||
| Red Hat | Red Hat Fuse 7 | unknown | — | ||||||
| Red Hat | Red Hat JBoss Enterprise Application Platform 7 | unknown | — | ||||||
| Red Hat | Red Hat Single Sign-On 7 | affected | — |
No data.
No data.
| Vendor | Product | Versions | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|
| Red Hat | Red Hat Amq Broker 7 |
|
||||||||
| Redhat | Amq Clients |
|
||||||||
| Redhat | Build Of Apache Camel For Quarkus |
|
||||||||
| Redhat | Build Of Apache Camel For Spring Boot |
|
||||||||
| Redhat | Build Of Apicurio Registry |
|
||||||||
| Redhat | Build Of Debezium 3 |
|
||||||||
| Redhat | Build Of Keycloak |
|
||||||||
| Redhat | Build Of Quarkus |
|
||||||||
| Redhat | Data Grid 8 |
|
||||||||
| Redhat | Jboss Enterprise Application Platform |
|
||||||||
| Redhat | Quay 3 |
|
||||||||
| Redhat | Single Sign-on |
|
Vendor Workaround
See https://github.com/netty/netty/security/advisories/GHSA-h75q-xqrh-59rf for fixed versions and remediation guidance.
No CVSS v4.0
No CVSS v3.0
No CVSS v2
This CVE is not in the KEV list.
Exploit prediction score: < 1% (0.865% probability within 30 days)
| Type | Values Removed | Values Added |
|---|---|---|
| References |
|
| Type | Values Removed | Values Added |
|---|---|---|
| CPEs | cpe:/a:redhat:jboss_enterprise_application_platform:8.1 | |
| References |
|
| Type | Values Removed | Values Added |
|---|---|---|
| CPEs | cpe:/a:redhat:build_keycloak:26.4::el9 cpe:/a:redhat:build_keycloak:26.6::el9 |
|
| References |
|
| Type | Values Removed | Values Added |
|---|---|---|
| CPEs | cpe:/a:redhat:debezium:3.6 | |
| References |
|
| Type | Values Removed | Values Added |
|---|---|---|
| First Time appeared |
Redhat apache Camel Quarkus
Redhat quarkus |
|
| CPEs | cpe:/a:redhat:apache_camel_quarkus:3.33 cpe:/a:redhat:quarkus:3.27::el8 cpe:/a:redhat:quarkus:3.33::el8 |
|
| Vendors & Products |
Redhat apache Camel Quarkus
Redhat quarkus |
| Type | Values Removed | Values Added |
|---|---|---|
| References |
|
| Type | Values Removed | Values Added |
|---|---|---|
| Metrics |
ssvc
|
| Type | Values Removed | Values Added |
|---|---|---|
| First Time appeared |
Red Hat
Red Hat red Hat Amq Broker 7 Redhat build Of Apache Camel For Quarkus Redhat build Of Apache Camel For Spring Boot Redhat build Of Apicurio Registry Redhat build Of Debezium 3 Redhat build Of Keycloak Redhat build Of Quarkus Redhat data Grid 8 Redhat quay 3 Redhat single Sign-on |
|
| Vendors & Products |
Red Hat
Red Hat red Hat Amq Broker 7 Redhat build Of Apache Camel For Quarkus Redhat build Of Apache Camel For Spring Boot Redhat build Of Apicurio Registry Redhat build Of Debezium 3 Redhat build Of Keycloak Redhat build Of Quarkus Redhat data Grid 8 Redhat quay 3 Redhat single Sign-on |
| Type | Values Removed | Values Added |
|---|---|---|
| CPEs | ||
| Vendors & Products |
Redhat quarkus
|
|
| References |
|
| Type | Values Removed | Values Added |
|---|---|---|
| References |
| |
| Metrics |
threat_severity
|
threat_severity
|
| Type | Values Removed | Values Added |
|---|---|---|
| Description | ### Summary `RtspMethods.valueOf()` silently strips trailing control bytes (any character with code point <= 0x20, the full range that `String.trim()` removes) before performing a cache lookup against its ten pre-populated method constants. A wire-delivered RTSP request whose method token ends with a trailing control byte — for example `PLAY\x00` or `PLAY\r`, immediately before the separating space — is decoded by `RtspDecoder` as a fully successful PLAY request, with `decoderResult().isSuccess() == true and request.method() == RtspMethods.PLAY` (same object reference as the cached singleton). The application layer cannot distinguish this from a clean `PLAY` request. This is the same root cause as #16723 and #16971, in a sibling that those fixes did not reach. The fix for `HttpMethod` hardened `HttpMethod.valueOf()` directly, but `RtspMethods.valueOf()` has its own independent `checkNonEmptyAfterTrim()` call that runs before the cache lookup — meaning a trailing-control-byte token hits the cache before the hardened `HttpMethod` constructor ever sees it. ### Reproduction Minimal wire-level reproduction Send the following raw bytes to any Netty-based RTSP server using R | A flaw was found in Netty RtspDecoder. The `RtspMethods.valueOf()` function incorrectly strips trailing control bytes from method tokens in Real-Time Streaming Protocol (RTSP) requests. A remote attacker can exploit this by sending a specially crafted RTSP request, leading to method-token smuggling. This vulnerability allows an attacker to bypass method-based access controls and can also be used to launder malicious requests through Netty-based RTSP proxies, making them appear legitimate to backend systems. |
| Type | Values Removed | Values Added |
|---|---|---|
| Description | ### Summary `RtspMethods.valueOf()` silently strips trailing control bytes (any character with code point <= 0x20, the full range that `String.trim()` removes) before performing a cache lookup against its ten pre-populated method constants. A wire-delivered RTSP request whose method token ends with a trailing control byte — for example `PLAY\x00` or `PLAY\r`, immediately before the separating space — is decoded by `RtspDecoder` as a fully successful PLAY request, with `decoderResult().isSuccess() == true and request.method() == RtspMethods.PLAY` (same object reference as the cached singleton). The application layer cannot distinguish this from a clean `PLAY` request. This is the same root cause as #16723 and #16971, in a sibling that those fixes did not reach. The fix for `HttpMethod` hardened `HttpMethod.valueOf()` directly, but `RtspMethods.valueOf()` has its own independent `checkNonEmptyAfterTrim()` call that runs before the cache lookup — meaning a trailing-control-byte token hits the cache before the hardened `HttpMethod` constructor ever sees it. ### Reproduction Minimal wire-level reproduction Send the following raw bytes to any Netty-based RTSP server using R | |
| Title | Io.netty/netty-codec-http: netty rtspdecoder method-token smuggling via trailing control byte | |
| First Time appeared |
Redhat
Redhat amq Broker Redhat amq Clients Redhat apicurio Registry Redhat build Keycloak Redhat camel Quarkus Redhat camel Spring Boot Redhat debezium Redhat jboss Data Grid Redhat jboss Enterprise Application Platform Redhat jboss Fuse Redhat quarkus Redhat red Hat Single Sign On |
|
| Weaknesses | CWE-1035 | |
| CPEs | cpe:/a:redhat:amq_broker:7 cpe:/a:redhat:amq_clients:2023 cpe:/a:redhat:apicurio_registry:3 cpe:/a:redhat:build_keycloak: cpe:/a:redhat:camel_quarkus:3 cpe:/a:redhat:camel_spring_boot:4 cpe:/a:redhat:debezium:3 cpe:/a:redhat:jboss_data_grid:8 cpe:/a:redhat:jboss_enterprise_application_platform:7 cpe:/a:redhat:jboss_enterprise_application_platform:8 cpe:/a:redhat:jboss_fuse:7 cpe:/a:redhat:quarkus:3 cpe:/a:redhat:red_hat_single_sign_on:7 |
|
| Vendors & Products |
Redhat
Redhat amq Broker Redhat amq Clients Redhat apicurio Registry Redhat build Keycloak Redhat camel Quarkus Redhat camel Spring Boot Redhat debezium Redhat jboss Data Grid Redhat jboss Enterprise Application Platform Redhat jboss Fuse Redhat quarkus Redhat red Hat Single Sign On |
|
| References |
| |
| Metrics |
cvssV3_1
|