Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessReach Netty RTSP listener over network
-
DeliveryCraft method token with trailing control byte (PLAY\x00)
-
ExploitDecoder trims byte, returns cached PLAY singleton
-
ExecutionFront-end/back-end parse method divergently
-
ImpactSmuggle request past method-based controls
Vulnerability Assessment
| Weakness |
CWE
|
| Exploitation Conditions | Requires a reachable RTSP endpoint served by Netty's codec-rtsp (RtspDecoder). No authentication, user interaction, or non-default option is needed to trigger the trim-before-cache bug itself - any wire-delivered request whose method token ends in a byte with code point <=0x20 immediately before the separating space is silently normalized to a valid cached method. The meaningful SECURITY impact, however, is gated on a downstream disagreement: a front-end proxy, WAF, gateway, or access-control layer that parses the RTSP method differently than Netty must exist for method/request smuggling to yield real integrity effects; against a standalone Netty RTSP server with no differential parser, the request simply resolves to a method the backend already honors. Limiting factors: RTSP listeners are far less commonly exposed than HTTP, so real deployment exposure is narrow. |
| Impact | Vendor (Red Hat) CVSS 3.1 is 7.5 (AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N) - a remote, unauthenticated, low-complexity network flaw with pure integrity impact (C:N/A:N). The integrity rating reflects RTSP method-token confusion: RtspMethods.valueOf() trims trailing control bytes (any code point <=0x20) before the cache lookup, so a wire token like 'PLAY\x00' or 'PLAY\r' is decoded as a fully-successful, cache-identical PLAY request that the application layer cannot distinguish from a clean one. This is a request/method-smuggling primitive (CWE-444 class), not a memory-safety RCE, so the standalone 7.5 is best read as a MEDIUM-real-priority issue whose actual exploitability depends on a downstream differential parser or fronting proxy that disagrees with Netty about where the method ends - absent that desync, the impact is limited to a normalized method the backend already accepts. No EPSS score, no CISA KEV entry, and no packaged POC are present, though the description embeds a minimal wire-level reproduction. Signals are consistent (no KEV/EPSS to contradict the score) but the assigned CWE-1035 is a taxonomy category rather than a real weakness, and the 'Information Disclosure' tag conflicts with the vendor's own C:N vector - both are metadata errors, not risk signals. Net: real but conditional integrity risk (needs a smuggling/desync context), not a drop-everything RCE. |
| Exploit ScenarioDerived | An unauthenticated attacker sends a raw RTSP request whose method token carries a trailing control byte (e.g. 'PLAY\x00 ' or 'PLAY\r ') to any Netty-based RTSP server; RtspDecoder trims the byte and yields decoderResult().isSuccess()true with method()RtspMethods.PLAY (the cached singleton), so the app processes it as a legitimate PLAY. Where a security proxy, WAF, or logging layer sits in front and parses the method differently, this discrepancy enables request/method smuggling - bypassing method-based access controls or slipping a token past inspection. The description includes a minimal wire-level reproduction, but no weaponized/public exploit is identified at time of analysis. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Sep 18, 2026
Netty's codec-rtsp component silently normalizes away trailing control bytes in RTSP method tokens, so a wire request whose method token ends in a byte with code point <= 0x20 immediately before the separating space (for example PLAY\x00 or PLAY\r) is decoded as a fully successful PLAY request with decoderResult().isSuccess() == true and request.method() referencing the same cached singleton object, leaving the application layer unable to distinguish it from a clean PLAY. This is a remote, unauthenticated, low-complexity integrity flaw (CVSS 3.1 7.5, AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N) affecting any product that embeds Netty and exposes an RTSP listener, including the Red Hat components named in the advisory such as AMQ Broker 7, AMQ Clients, Quarkus, Camel for Quarkus 3/Spring Boot 4, Keycloak, JBoss EAP 7/8, Single Sign-On 7, Data Grid 8, Fuse 7, Debezium 3, and Apicurio Registry 3. Real security impact is gated on a downstream disagreement: a front-end proxy, WAF, gateway, or access-control layer must parse the RTSP method differently from Netty for method/request smuggling to produce genuine integrity effects, and exposure is narrow because RTSP listeners are far less commonly internet-facing than HTTP. Exploitation status: no public exploit identified at time of analysis and no CISA KEV confirmation, though the upstream advisory itself documents a minimal wire-level reproduction at a high level.
RemediationAI
No vendor-released patch version was specified in the available intelligence for this CVE; Red Hat tracks the issue via https://access.redhat.com/security/cve/CVE-2026-93565 and https://bugzilla.redhat.com/show_bug.cgi?id=2536952, and affected users should monitor those pages for the fixed Netty codec-rtsp build and apply it once released, since the underlying correction belongs in RtspMethods.valueOf() (validation must occur before the cache lookup, matching the earlier HttpMethod hardening). Until a patch is confirmed, prioritize compensating controls that eliminate the parser disagreement the flaw depends on: enforce strict RTSP method-token validation at the edge so any method token containing a control character (code point <= 0x20, including embedded or trailing NUL, CR, LF, TAB) before the separator space is rejected outright, accepting the trade-off that non-conformant or legacy clients emitting stray padding bytes will break; ensure any front-end proxy, WAF, load balancer, or gateway normalizes and validates RTSP methods identically to Netty rather than using its own trims or prefix matches, since divergent parsing is the precondition for actual request/method smuggling; and restrict RTSP listener exposure by binding it to trusted management segments, firewalling RTSP ports from untrusted networks, or disabling the RTSP service entirely where it is not needed, with the trade-off that remote streaming clients lose access. Because assessed impact is integrity-only (C:N/A:N), logging and alerting on anomalous or control-byte-bearing method tokens provides useful detection while remediation is pending.
Affects your stack
Find out whether the stacks and servers you run are on an affected version.
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
The flaw lives in Netty's RTSP codec (codec-rtsp), where the RtspDecoder hands the wire method token to RtspMethods.valueOf(). That method performs its own checkNonEmptyAfterTrim() call and then does a cache lookup against ten pre-populated method constants, and it applies String.trim() semantics that strip any character with code point <= 0x20 (U+0000 through U+0020, covering NUL, TAB, LF, CR, and space) before the lookup occurs. Because the trim happens ahead of the cache lookup, a token such as PLAY\x00 or PLAY\r matches the cached PLAY constant and the decoder reports a successful result that is object-identical to a clean PLAY, so application code sees no anomaly. This is the same root cause previously addressed in the sibling HttpMethod class (issues #16723 and #16971), but those fixes hardened HttpMethod.valueOf() directly rather than RtspMethods, whose independent trim-then-cache path never reaches the hardened constructor. The published CWE mapping is CWE-1035 (OWASP Top Ten 2017 Category A9 - Using Components with Known Vulnerabilities), which characterizes the consumption of a vulnerable dependency rather than the mechanics of the bug; the underlying failure class is an interpretation/normalization conflict (akin to CWE-436 with elements of CWE-20 improper input validation) created by trimming before an exact-match cache lookup. The supplied CPEs are all Red Hat products that bundle Netty rather than a Netty-specific CPE, so the practical attack surface depends on which of those products actually exposes an RTSP endpoint served by RtspDecoder.
Know when Netty gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N
Remote unauthenticated low-complexity token that reliably yields a spoofed valid method (I:H, no C/A impact); AC:H and S:C are defensible since real smuggling needs a fronting proxy desync, but I align with the vendor's isolated-primitive rating.
Primary rating from Vendor (redhat).
CVSS VectorVendor: redhat
DescriptionCVE.org
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
Executive ViewAI
Netty's codec-rtsp component carries a high-severity integrity flaw (CVE-2026-93565) that affects multiple Red Hat offerings embedding Netty with an exposed RTSP listener, including AMQ Broker 7, AMQ Clients, Quarkus, Camel for Quarkus 3/Spring Boot 4, Keycloak, JBoss EAP 7/8, Single Sign-On 7, Data Grid 8, Fuse 7, Debezium 3, and Apicurio Registry 3. Because the issue is remote, unauthenticated, and low-complexity, and no vendor-released patch identified at time of analysis, security teams may not be able to rely solely on edge controls to enforce RTSP method intent, creating potential integrity and access-control gaps across messaging, identity, and integration tiers. Leadership should prioritize inventory and interim mitigation, especially where front-end proxies, WAFs, or gateways enforce method-based policy differently than the affected application components.
No vendor-released patch identified at time of analysis; interim mitigations include restricting RTSP listener exposure to trusted networks, enforcing strict RTSP method parsing at the application layer where feasible, and using a WAF, reverse proxy, or API gateway to reject method tokens that contain trailing control bytes (code point <= 0x20) immediately before the separating space. Segment affected products (AMQ Broker 7, AMQ Clients, Quarkus, Camel for Quarkus 3/Spring Boot 4, Keycloak, JBoss EAP 7/8, Single Sign-On 7, Data Grid 8, Fuse 7, Debezium 3, Apicurio Registry 3) from untrusted networks, monitor for anomalous RTSP methods, and apply the vendor patch when released.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Affected Products (CPE)CVE.org
Denial of service against HTTP/2 server implementations allows remote unauthenticated attackers to exhaust server resour
Netty before 4.1.42.Final mishandles whitespace before the colon in HTTP headers (such as a "Transfer-Encoding : chunked
Certificate revocation-check bypass in the Netty network framework's OCSP client (io.netty:netty-handler-ssl-ocsp) affec
netty-incubator-codec-ohttp is the OHTTP implementation for netty. Rated critical severity (CVSS 9.1), this vulnerabilit
The netty incubator codec.bhttp is a java language binary http parser. Rated high severity (CVSS 8.1), this vulnerabilit
Netty, an asynchronous, event-driven network application framework, has a vulnerability starting in version 4.1.91.Final
Memory exhaustion in Netty's SctpMessageCompletionHandler (netty-transport-sctp) allows unauthenticated remote peers to
Compression-amplification denial of service in the Netty network framework (versions prior to 4.1.136.Final and 4.2.16.F
Memory-amplification denial of service in the Netty network framework (SPDY/3.1 codec) prior to 4.1.136.Final and 4.2.16
Memory-exhaustion denial of service in Netty's HTTP/3 codec (Http3FrameCodec) affects all releases prior to 4.2.16.Final
Netty's HTTP CORS handler silently rewrites the Vary response header to Vary: Origin in releases before 4.1.137.Final an
Denial of service in the Netty HTTP/3 codec (io.netty:netty-codec-http3) prior to version 4.2.15.Final allows remote una
Vendor StatusVendor
SUSE
Severity: Important| Product | Status |
|---|---|
| SUSE Linux Enterprise Desktop 15 SP7 SUSE Linux Enterprise Module for Development Tools 15 SP7 SUSE Linux Enterprise Server 15 SP7 SUSE Linux Enterprise Server for SAP Applications 15 SP7 | Fixed |
| SUSE Linux Enterprise High Performance Computing 15 SP4-ESPOS | Fixed |
| SUSE Linux Enterprise High Performance Computing 15 SP4-LTSS | Fixed |
| SUSE Linux Enterprise High Performance Computing 15 SP5-ESPOS | Fixed |
| SUSE Linux Enterprise High Performance Computing 15 SP5-LTSS | Fixed |
| SUSE Linux Enterprise Module for Package Hub 15 SP7 | Fixed |
| SUSE Linux Enterprise Server 15 SP4-LTSS | Fixed |
| SUSE Linux Enterprise Server 15 SP5-LTSS | Fixed |
| SUSE Linux Enterprise Server 15 SP6-LTSS | Fixed |
| SUSE Linux Enterprise Server for SAP Applications 15 SP4 | Fixed |
| SUSE Linux Enterprise Server for SAP Applications 15 SP5 | Fixed |
| SUSE Linux Enterprise Server for SAP Applications 15 SP6 | Fixed |
| openSUSE Tumbleweed | Fixed |
| SUSE Linux Enterprise Desktop 15 SP7 | Affected |
| SUSE Linux Enterprise Module for Development Tools 15 SP7 | Affected |
| SUSE Linux Enterprise Module for Package Hub 15 SP7 | Affected |
| SUSE Linux Enterprise Server 15 SP7 | Affected |
| SUSE Linux Enterprise Server for SAP Applications 15 SP7 | Affected |
| SUSE Linux Enterprise High Performance Computing 15 SP4-LTSS | Affected |
| SUSE Linux Enterprise High Performance Computing 15 SP5-LTSS | Affected |
| SUSE Linux Enterprise Server 15 SP4-LTSS | Affected |
| SUSE Linux Enterprise Server 15 SP5-LTSS | Affected |
| SUSE Linux Enterprise Server 15 SP6-LTSS | Affected |
| SUSE Linux Enterprise Server for SAP Applications 15 SP4 | Affected |
| SUSE Linux Enterprise Server for SAP Applications 15 SP5 | Affected |
| SUSE Linux Enterprise Server for SAP Applications 15 SP6 | Affected |
| SUSE Linux Enterprise High Performance Computing 15 SP4-ESPOS | Affected |
| SUSE Linux Enterprise High Performance Computing 15 SP5-ESPOS | Affected |
| SUSE Linux Enterprise Module for Package Hub 15 SP5 | Affected |
| SUSE Linux Enterprise Module for Package Hub 15 SP6 | Affected |
| openSUSE Leap 15.3 | Affected |
| openSUSE Leap 15.4 | Affected |
| openSUSE Leap 15.5 | Affected |
| openSUSE Leap 15.6 | Affected |
| suse/manager/5.0/x86_64/server suse/multi-linux-manager/5.1/x86_64/server | Affected |
EUVD-2026-82934
GHSA-6f4p-h3xm-c8rc
NVD
CVE.org
EPSS
Vulnrichment
VulDB
Exploit-DB