{ "dataType": "CVE_RECORD", "dataVersion": "5.2", "cveMetadata": { "cveId": "CVE-2026-42581", "assignerOrgId": "a0819718-46f1-4df5-94e2-005712e83aaa", "state": "PUBLISHED", "assignerShortName": "GitHub_M", "dateReserved": "2026-04-28T17:26:12.085Z", "datePublished": "2026-05-13T17:54:44.492Z", "dateUpdated": "2026-07-10T12:06:05.360Z" }, "containers": { "cna": { "title": "Netty: HTTP/1.0 TE+CL Coexistence Bypasses Smuggling Sanitization", "problemTypes": [ { "descriptions": [ { "cweId": "CWE-444", "lang": "en", "description": "CWE-444: Inconsistent Interpretation of HTTP Requests ('HTTP Request/Response Smuggling')", "type": "CWE" } ] } ], "metrics": [ { "cvssV3_1": { "attackComplexity": "LOW", "attackVector": "NETWORK", "availabilityImpact": "NONE", "baseScore": 5.8, "baseSeverity": "MEDIUM", "confidentialityImpact": "NONE", "integrityImpact": "LOW", "privilegesRequired": "NONE", "scope": "CHANGED", "userInteraction": "NONE", "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:N/I:L/A:N", "version": "3.1" } } ], "references": [ { "name": "https://github.com/netty/netty/security/advisories/GHSA-xxqh-mfjm-7mv9", "tags": [ "x_refsource_CONFIRM" ], "url": "https://github.com/netty/netty/security/advisories/GHSA-xxqh-mfjm-7mv9" } ], "affected": [ { "vendor": "netty", "product": "netty", "versions": [ { "version": ">= 4.2.0.Alpha1, < 4.2.13.Final", "status": "affected" }, { "version": "< 4.1.133.Final", "status": "affected" } ] } ], "providerMetadata": { "orgId": "a0819718-46f1-4df5-94e2-005712e83aaa", "shortName": "GitHub_M", "dateUpdated": "2026-05-13T17:54:44.492Z" }, "descriptions": [ { "lang": "en", "value": "Netty is an asynchronous, event-driven network application framework. Prior to 4.2.13.Final and 4.1.133.Final, HttpObjectDecoder strips a conflicting Content-Length header when a request carries both Transfer-Encoding: chunked and Content-Length, but only for HTTP/1.1 messages. The guard is absent for HTTP/1.0. An attacker that sends an HTTP/1.0 request with both headers causes Netty to decode the body as chunked while leaving Content-Length intact in the forwarded HttpMessage. Any downstream proxy or handler that trusts Content-Length over Transfer-Encoding will disagree on message boundaries, enabling request smuggling. This vulnerability is fixed in 4.2.13.Final and 4.1.133.Final." } ], "source": { "advisory": "GHSA-xxqh-mfjm-7mv9", "discovery": "UNKNOWN" } }, "adp": [ { "references": [ { "url": "https://github.com/netty/netty/security/advisories/GHSA-xxqh-mfjm-7mv9", "tags": [ "exploit" ] } ], "metrics": [ { "other": { "type": "ssvc", "content": { "timestamp": "2026-05-13T18:42:38.397208Z", "id": "CVE-2026-42581", "options": [ { "Exploitation": "poc" }, { "Automatable": "yes" }, { "Technical Impact": "partial" } ], "role": "CISA Coordinator", "version": "2.0.3" } } } ], "title": "CISA ADP Vulnrichment", "providerMetadata": { "orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0", "shortName": "CISA-ADP", "dateUpdated": "2026-05-13T18:42:59.711Z" } }, { "affected": [ { "cpes": [ "cpe:/a:redhat:cryostat:4::el9" ], "defaultStatus": "affected", "product": "Cryostat 4 on RHEL 9", "vendor": "Red Hat" }, { "cpes": [ "cpe:/a:redhat:openshift_devspaces:3.28::el9" ], "defaultStatus": "affected", "product": "Red Hat OpenShift Dev Spaces 3.28", "vendor": "Red Hat" }, { "cpes": [ "cpe:/a:redhat:openshift_devspaces:3.29::el9" ], "defaultStatus": "affected", "product": "Red Hat OpenShift Dev Spaces 3.29", "vendor": "Red Hat" }, { "cpes": [ "cpe:/a:redhat:apache_camel_spring_boot:4.18" ], "defaultStatus": "affected", "product": "Red Hat build of Apache Camel 4.18.1.P1 for Spring Boot 3.5.16", "vendor": "Red Hat" }, { "cpes": [ "cpe:/a:redhat:quarkus:3.27::el8" ], "defaultStatus": "affected", "product": "Red Hat build of Quarkus 3.27.4", "vendor": "Red Hat" }, { "cpes": [ "cpe:/a:redhat:quarkus:3.33::el8" ], "defaultStatus": "affected", "product": "Red Hat build of Quarkus 3.33.2", "vendor": "Red Hat" }, { "cpes": [ "cpe:/a:redhat:amq_streams:2" ], "defaultStatus": "unaffected", "product": "streams for Apache Kafka 2", "vendor": "Red Hat" }, { "cpes": [ "cpe:/a:redhat:serverless:1" ], "defaultStatus": "unknown", "product": "OpenShift Serverless", "vendor": "Red Hat" }, { "cpes": [ "cpe:/a:redhat:amq_broker:7" ], "defaultStatus": "unknown", "product": "Red Hat AMQ Broker 7", "vendor": "Red Hat" }, { "cpes": [ "cpe:/a:redhat:amq_clients:2023" ], "defaultStatus": "unknown", "product": "Red Hat AMQ Clients", "vendor": "Red Hat" }, { "cpes": [ "cpe:/a:redhat:camel_quarkus:3" ], "defaultStatus": "unknown", "product": "Red Hat build of Apache Camel 4 for Quarkus 3", "vendor": "Red Hat" }, { "cpes": [ "cpe:/a:redhat:service_registry:2" ], "defaultStatus": "unknown", "product": "Red Hat build of Apicurio Registry 2", "vendor": "Red Hat" }, { "cpes": [ "cpe:/a:redhat:apicurio_registry:3" ], "defaultStatus": "unknown", "product": "Red Hat build of Apicurio Registry 3", "vendor": "Red Hat" }, { "cpes": [ "cpe:/a:redhat:debezium:3" ], "defaultStatus": "unknown", "product": "Red Hat build of Debezium 3", "vendor": "Red Hat" }, { "cpes": [ "cpe:/a:redhat:build_keycloak:" ], "defaultStatus": "unknown", "product": "Red Hat Build of Keycloak", "vendor": "Red Hat" }, { "cpes": [ "cpe:/a:redhat:optaplanner:::el6" ], "defaultStatus": "unknown", "product": "Red Hat build of OptaPlanner 8", "vendor": "Red Hat" }, { "cpes": [ "cpe:/a:redhat:jboss_data_grid:8" ], "defaultStatus": "unknown", "product": "Red Hat Data Grid 8", "vendor": "Red Hat" }, { "cpes": [ "cpe:/a:redhat:enterprise_linux_ai:3" ], "defaultStatus": "unknown", "product": "Red Hat Enterprise Linux AI (RHEL AI) 3", "vendor": "Red Hat" }, { "cpes": [ "cpe:/a:redhat:jboss_fuse:7" ], "defaultStatus": "unknown", "product": "Red Hat Fuse 7", "vendor": "Red Hat" }, { "cpes": [ "cpe:/a:redhat:jboss_enterprise_application_platform:7" ], "defaultStatus": "unknown", "product": "Red Hat JBoss Enterprise Application Platform 7", "vendor": "Red Hat" }, { "cpes": [ "cpe:/a:redhat:jboss_enterprise_application_platform:8" ], "defaultStatus": "unknown", "product": "Red Hat JBoss Enterprise Application Platform 8", "vendor": "Red Hat" }, { "cpes": [ "cpe:/a:redhat:jbosseapxp" ], "defaultStatus": "unknown", "product": "Red Hat JBoss Enterprise Application Platform Expansion Pack", "vendor": "Red Hat" }, { "cpes": [ "cpe:/a:redhat:openshift_ai" ], "defaultStatus": "unknown", "product": "Red Hat OpenShift AI (RHOAI)", "vendor": "Red Hat" }, { "cpes": [ "cpe:/a:redhat:jboss_enterprise_bpms_platform:7" ], "defaultStatus": "unknown", "product": "Red Hat Process Automation 7", "vendor": "Red Hat" }, { "cpes": [ "cpe:/a:redhat:satellite:6" ], "defaultStatus": "unknown", "product": "Red Hat Satellite 6", "vendor": "Red Hat" }, { "cpes": [ "cpe:/a:redhat:red_hat_single_sign_on:7" ], "defaultStatus": "unknown", "product": "Red Hat Single Sign-On 7", "vendor": "Red Hat" }, { "cpes": [ "cpe:/a:redhat:amq_streams:3" ], "defaultStatus": "unknown", "product": "streams for Apache Kafka 3", "vendor": "Red Hat" } ], "datePublic": "2026-05-13T17:54:44.492Z", "descriptions": [ { "lang": "en", "value": "A flaw was found in Netty's HttpObjectDecoder. A remote attacker can exploit this by sending a specially crafted HTTP/1.0 request that includes both `Transfer-Encoding: chunked` and `Content-Length` headers. While Netty correctly strips the conflicting `Content-Length` header for HTTP/1.1 messages, this guard is absent for HTTP/1.0. This can lead to HTTP request smuggling, where downstream proxies or handlers may misinterpret message boundaries, potentially allowing an attacker to bypass security controls or access unauthorized information." } ], "metrics": [ { "other": { "content": { "namespace": "https://access.redhat.com/security/updates/classification/", "value": "Important" }, "type": "Red Hat severity rating" } }, { "cvssV3_1": { "attackComplexity": "LOW", "attackVector": "NETWORK", "availabilityImpact": "NONE", "baseScore": 7.2, "baseSeverity": "HIGH", "confidentialityImpact": "LOW", "integrityImpact": "LOW", "privilegesRequired": "NONE", "scope": "CHANGED", "userInteraction": "NONE", "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:L/I:L/A:N", "version": "3.1" }, "format": "CVSS" } ], "problemTypes": [ { "descriptions": [ { "cweId": "CWE-444", "description": "Inconsistent Interpretation of HTTP Requests ('HTTP Request/Response Smuggling')", "lang": "en", "type": "CWE" } ] } ], "references": [ { "tags": [ "vdb-entry", "x_refsource_REDHAT" ], "url": "https://access.redhat.com/security/cve/CVE-2026-42581" }, { "name": "RHBZ#2477232", "tags": [ "issue-tracking", "x_refsource_REDHAT" ], "url": "https://bugzilla.redhat.com/show_bug.cgi?id=2477232" }, { "tags": [ "x_sadp-csaf-vex" ], "url": "https://security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-42581.json" }, { "tags": [ "vendor-advisory", "x_refsource_REDHAT" ], "url": "https://access.redhat.com/errata/RHSA-2026:28010" }, { "tags": [ "vendor-advisory", "x_refsource_REDHAT" ], "url": "https://access.redhat.com/errata/RHSA-2026:25123" }, { "tags": [ "vendor-advisory", "x_refsource_REDHAT" ], "url": "https://access.redhat.com/errata/RHSA-2026:36820" }, { "tags": [ "vendor-advisory", "x_refsource_REDHAT" ], "url": "https://access.redhat.com/errata/RHSA-2026:37390" }, { "tags": [ "vendor-advisory", "x_refsource_REDHAT" ], "url": "https://access.redhat.com/errata/RHSA-2026:23808" }, { "tags": [ "vendor-advisory", "x_refsource_REDHAT" ], "url": "https://access.redhat.com/errata/RHSA-2026:24502" } ], "solutions": [ { "lang": "en", "value": "RHSA-2026:28010: Cryostat 4 on RHEL 9" }, { "lang": "en", "value": "RHSA-2026:25123: Red Hat OpenShift Dev Spaces 3.28" }, { "lang": "en", "value": "RHSA-2026:36820: Red Hat OpenShift Dev Spaces 3.29" }, { "lang": "en", "value": "RHSA-2026:37390: Red Hat build of Apache Camel 4.18.1.P1 for Spring Boot 3.5.16" }, { "lang": "en", "value": "RHSA-2026:23808: Red Hat build of Quarkus 3.27.4" }, { "lang": "en", "value": "RHSA-2026:24502: Red Hat build of Quarkus 3.33.2" } ], "timeline": [ { "lang": "en", "time": "2026-05-13T19:02:26.404Z", "value": "Reported to Red Hat." }, { "lang": "en", "time": "2026-05-13T17:54:44.492Z", "value": "Made public." } ], "title": "netty: io.netty/netty-codec-http: Netty: HTTP Request Smuggling due to improper handling of conflicting HTTP/1.0 headers", "workarounds": [ { "lang": "en", "value": "To mitigate this issue, configure any reverse proxies or load balancers in front of Netty to either reject HTTP/1.0 requests containing both Transfer-Encoding: chunked and Content-Length headers, or to explicitly prioritize the Transfer-Encoding header over Content-Length for HTTP/1.0 traffic. This ensures consistent interpretation of message boundaries and prevents request smuggling attacks." } ], "x_adpType": "supplier", "x_generator": { "engine": "sadp-cli 1.0.0" }, "providerMetadata": { "orgId": "0b0ca135-0b70-47e7-9f44-1890c2a1c46c", "shortName": "redhat-SADP", "dateUpdated": "2026-07-10T12:06:05.360Z" } } ] } }