Duty Analyst: Joseph McCarthy

CVE-2026-41417

Published: 2026-05-06 22:16:26 | Last modified: 2026-05-11 14:29:48

MEDIUM CVSS 5.3
No EPSS data

Description

Netty allows request-line validation to be bypassed when a `DefaultHttpRequest` or `DefaultFullHttpRequest` is created first and its URI is later changed via `setUri()`. The constructors reject CRLF and whitespace characters that would break the start-line, but `setUri()` does not apply the same validation. `HttpRequestEncoder` and `RtspEncoder` then write the URI into the request line verbatim. If attacker-controlled input reaches `setUri()`, this enables CRLF injection and insertion of additional HTTP or RTSP requests, leading to HTTP request smuggling or desynchronization on the HTTP side and request injection on the RTSP side. This issue is fixed in versions 4.2.13.Final and 4.1.133.Final.

CVSS details

Severity
medium
Score
5.3
Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N

EPSS

This CVE is not currently listed in the EPSS dataset.

Show JSON
{
    "cve": {
        "id": "CVE-2026-41417",
        "cveTags": [],
        "metrics": {
            "cvssMetricV31": [
                {
                    "type": "Secondary",
                    "source": "security-advisories@github.com",
                    "cvssData": {
                        "scope": "UNCHANGED",
                        "version": "3.1",
                        "baseScore": 5.3,
                        "attackVector": "NETWORK",
                        "baseSeverity": "MEDIUM",
                        "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N",
                        "integrityImpact": "LOW",
                        "userInteraction": "NONE",
                        "attackComplexity": "LOW",
                        "availabilityImpact": "NONE",
                        "privilegesRequired": "NONE",
                        "confidentialityImpact": "NONE"
                    },
                    "impactScore": 1.4,
                    "exploitabilityScore": 3.9
                }
            ]
        },
        "published": "2026-05-06T22:16:25.780",
        "references": [
            {
                "url": "https://github.com/netty/netty/security/advisories/GHSA-v8h7-rr48-vmmv",
                "tags": [
                    "Exploit",
                    "Mitigation",
                    "Vendor Advisory"
                ],
                "source": "security-advisories@github.com"
            },
            {
                "url": "https://github.com/netty/netty/security/advisories/GHSA-v8h7-rr48-vmmv",
                "tags": [
                    "Exploit",
                    "Mitigation",
                    "Vendor Advisory"
                ],
                "source": "134c704f-9b21-4f2e-91b3-4a467353bcc0"
            }
        ],
        "vulnStatus": "Analyzed",
        "weaknesses": [
            {
                "type": "Secondary",
                "source": "security-advisories@github.com",
                "description": [
                    {
                        "lang": "en",
                        "value": "CWE-93"
                    },
                    {
                        "lang": "en",
                        "value": "CWE-444"
                    }
                ]
            }
        ],
        "descriptions": [
            {
                "lang": "en",
                "value": "Netty allows request-line validation to be bypassed when a `DefaultHttpRequest` or `DefaultFullHttpRequest` is created first and its URI is later changed via `setUri()`. The constructors reject CRLF and whitespace characters that would break the start-line, but `setUri()` does not apply the same validation. `HttpRequestEncoder` and `RtspEncoder` then write the URI into the request line verbatim. If attacker-controlled input reaches `setUri()`, this enables CRLF injection and insertion of additional HTTP or RTSP requests, leading to HTTP request smuggling or desynchronization on the HTTP side and request injection on the RTSP side. This issue is fixed in versions 4.2.13.Final and 4.1.133.Final."
            }
        ],
        "lastModified": "2026-05-11T14:29:48.360",
        "configurations": [
            {
                "nodes": [
                    {
                        "negate": false,
                        "cpeMatch": [
                            {
                                "criteria": "cpe:2.3:a:netty:netty:*:*:*:*:*:*:*:*",
                                "vulnerable": true,
                                "matchCriteriaId": "DFE205A5-2C43-40C9-A2FF-CF6759B8D861",
                                "versionEndExcluding": "4.1.133"
                            },
                            {
                                "criteria": "cpe:2.3:a:netty:netty:*:*:*:*:*:*:*:*",
                                "vulnerable": true,
                                "matchCriteriaId": "D94A720F-9CED-4BE9-8C37-FD9E2FD28472",
                                "versionEndExcluding": "4.2.13",
                                "versionStartIncluding": "4.2.0"
                            }
                        ],
                        "operator": "OR"
                    }
                ]
            }
        ],
        "sourceIdentifier": "security-advisories@github.com"
    }
}