Description
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.
Published: 2026-09-18
Score: 7.5 High
EPSS: n/a
KEV: No
Impact: Method-token smuggling enabling bypass of method-based access controls
Action: Patch
AI Analysis

Impact

A flaw in Netty’s RtspDecoder causes the RtspMethods.valueOf() function to strip trailing control bytes from RTSP method tokens. An attacker can send a specially crafted RTSP request whose method ends with such a byte—for example, PLAY\\x00—so that the decoder normalizes it to a legitimate PLAY request. The application receives a fully valid request object and cannot distinguish it from a clean token, allowing the attacker to bypass method-based access controls or to launder malicious requests through Netty‑based RTSP proxies, making them appear legitimate to backend systems.

Affected Systems

All Red Hat products that ship Netty and expose an RTSP service are affected, including Red Hat AMQ Broker 7, Red Hat AMQ Clients, Red Hat Build of Keycloak, Red Hat Data Grid 8, Red Hat Fuse 7, Red Hat JBoss Enterprise Application Platform 7 and 8, Red Hat Single Sign‑On 7, Red Hat builds of Apache Camel 4 for Quarkus 3, Camel for Spring Boot 4, Apicurio Registry 3, Debezium 3, and Quarkus 3. Any deployment containing a vulnerable Netty library—regardless of specific Netty version—may be impacted unless it has been upgraded to a patched release.

Risk and Exploitability

The CVSS score of 7.5 indicates a serious potential impact. EPSS data is not available, so the current exploitation probability cannot be quantified. The likelihood of exploitation is driven by remote access to an RTSP service, as the vulnerability is triggered by sending a crafted RTSP request over the network. No publicly known exploits are documented, but an adversary with network reach to the RTSP port could craft a trailing‑control‑byte request to trick the server into treating it as a legitimate command.

Generated by OpenCVE AI on September 19, 2026 at 00:45 UTC.

Remediation

Vendor Workaround

See https://github.com/netty/netty/security/advisories/GHSA-h75q-xqrh-59rf for fixed versions and remediation guidance.


OpenCVE Recommended Actions

  • Upgrade Netty to a fixed release following the GitHub advisory at https://github.com/netty/netty/security/advisories/GHSA-h75q-xqrh-59rf.
  • Apply Red Hat patches that incorporate the updated Netty component for all affected products.
  • If the RTSP service is not required, block or restrict its exposure at the network perimeter to prevent access.

Generated by OpenCVE AI on September 19, 2026 at 00:45 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Sat, 19 Sep 2026 00:15:00 +0000

Type Values Removed Values Added
References
Metrics threat_severity

None

threat_severity

Important


Fri, 18 Sep 2026 21:30:00 +0000

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.

Fri, 18 Sep 2026 14:30:00 +0000

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

{'score': 7.5, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N'}


Subscriptions

Redhat Amq Broker Amq Clients Apicurio Registry Build Keycloak Camel Quarkus Camel Spring Boot Debezium Jboss Data Grid Jboss Enterprise Application Platform Jboss Fuse Quarkus Red Hat Single Sign On
cve-icon MITRE

Status: PUBLISHED

Assigner: redhat

Published:

Updated: 2026-09-18T20:22:45.891Z

Reserved: 2026-09-18T09:59:50.676Z

Link: CVE-2026-93565

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Awaiting Analysis

Published: 2026-09-18T15:17:20.093

Modified: 2026-09-18T21:18:47.380

Link: CVE-2026-93565

cve-icon Redhat

Severity : Important

Publid Date: 2026-09-10T00:47:19Z

Links: CVE-2026-93565 - Bugzilla

cve-icon OpenCVE Enrichment

Updated: 2026-09-19T01:00:09Z

Weaknesses