Netty: HttpClientCodec response desynchronization
Netty is an asynchronous, event-driven network application framework. Prior to 4.2.13.Final and 4.1.133.Final, HttpClientCodec pairs each inbound response with an outbound request by queue.poll() once per response, including for 1xx. If the client pipelines GET then HEAD and the server sends 103, then 200 with GET body, then 200 for HEAD, the queue pairs HEAD with the first 200. The HEAD rule then skips reading that message’s body, so the GET entity bytes stay on the stream and the following 200 is parsed from the wrong offset. This vulnerability is fixed in 4.2.13.Final and 4.1.133.Final.
- Products
- Not specified
- Affected versions
- Not specified
- Fixed versions
- Not specified
- CVEs
- CVE-2026-42584
- Confirmed fixed CVEs
- Not specified
- Updated in this feed
- 7 Nov 2026, 04:55 UTC · Revision 1
Source evidence
Netty: HttpClientCodec response desynchronization
core-osv · Original sourcePublished 13 May 2026, 18:10 UTC
Netty is an asynchronous, event-driven network application framework. Prior to 4.2.13.Final and 4.1.133.Final, HttpClientCodec pairs each inbound response with an outbound request by queue.poll() once per response, including for 1xx. If the client pipelines GET then HEAD and the server sends 103, then 200 with GET body, then 200 for HEAD, the queue pairs HEAD with the first 200. The HEAD rule then skips reading that message’s body, so the GET entity bytes stay on the stream and the following 200 is parsed from the wrong offset. This vulnerability is fixed in 4.2.13.Final and 4.1.133.Final.
osv:CVE-2026-42584
Complete source record
{
"id": "d6888f06fb335fd399aa8dcafb4918e73ef831a41cf744bcda8be00d933f4459",
"url": "https://osv.dev/vulnerability/CVE-2026-42584",
"method": "structured",
"payload": {
"kind": "advisory",
"title": "Netty: HttpClientCodec response desynchronization",
"summary": "Netty is an asynchronous, event-driven network application framework. Prior to 4.2.13.Final and 4.1.133.Final, HttpClientCodec pairs each inbound response with an outbound request by queue.poll() once per response, including for 1xx. If the client pipelines GET then HEAD and the server sends 103, then 200 with GET body, then 200 for HEAD, the queue pairs HEAD with the first 200. The HEAD rule then skips reading that message’s body, so the GET entity bytes stay on the stream and the following 200 is parsed from the wrong offset. This vulnerability is fixed in 4.2.13.Final and 4.1.133.Final.",
"evidence": "osv:CVE-2026-42584",
"products": [],
"severity": "high",
"structured": {
"id": "CVE-2026-42584",
"aliases": [
"CVE-2026-42584",
"GHSA-57rv-r2g8-2cj3"
],
"metrics": [
{
"type": "CVSS_V3",
"score": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:L"
}
],
"affected": [
{
"ranges": [
{
"repo": "https://github.com/netty/netty",
"type": "GIT",
"events": [
{
"introduced": "0"
},
{
"fixed": "fb13125f135ab53203513ff603872a3abe84d38d"
},
{
"introduced": "09e64d259c99be8b5b2a471a78f11e65eb82598a"
},
{
"fixed": "b3844c8108b42f68d56144b36d4d1ed96078a688"
}
],
"database_specific": {
"extracted_events": [
{
"cpe": "cpe:2.3:a:netty:netty:*:*:*:*:*:*:*:*",
"range": [
{
"introduced": "0"
},
{
"fixed": "4.1.133"
}
],
"source": "CPE_RANGE"
},
{
"cpe": "cpe:2.3:a:netty:netty:*:*:*:*:*:*:*:*",
"range": [
{
"introduced": "4.2.0"
},
{
"fixed": "4.2.13"
}
],
"source": "CPE_RANGE"
}
]
}
}
],
"versions": [
"netty-4.2.12.Final",
"netty-4.1.132.Final",
"netty-4.2.11.Final",
"netty-4.1.131.Final",
"netty-4.2.10.Final",
"netty-4.2.9.Final",
"netty-4.1.130.Final",
"netty-4.2.8.Final",
"netty-4.1.129.Final",
"netty-4.1.128.Final",
"netty-4.2.7.Final",
"netty-4.2.6.Final",
"netty-4.1.127.Final",
"netty-4.2.5.Final",
"netty-4.1.126.Final",
"netty-4.1.125.Final",
"netty-4.2.4.Final",
"netty-4.1.124.Final",
"netty-4.1.123.Final",
"netty-4.2.3.Final",
"netty-4.2.2.Final",
"netty-4.1.122.Final",
"netty-4.2.1.Final",
"netty-4.1.121.Final",
"netty-4.1.120.Final",
"netty-4.2.0.Final",
"netty-4.1.119.Final",
"netty-4.1.118.Final",
"netty-4.1.117.Final",
"netty-4.1.116.Final",
"netty-4.1.115.Final",
"netty-4.1.114.Final",
"netty-4.1.113.Final",
"netty-4.1.112.Final",
"netty-4.1.111.Final",
"netty-4.1.110.Final",
"netty-4.1.109.Final",
"netty-4.1.108.Final",
"netty-4.1.107.Final",
"netty-4.1.106.Final",
"netty-4.1.105.Final",
"netty-4.1.104.Final",
"netty-4.1.103.Final",
"netty-4.1.102.Final",
"netty-4.1.101.Final",
"netty-4.1.100.Final",
"netty-4.1.99.Final",
"netty-4.1.98.Final",
"netty-4.1.97.Final",
"netty-4.1.96.Final",
"netty-4.1.95.Final",
"netty-4.1.94.Final",
"netty-4.1.93.Final",
"netty-4.1.92.Final",
"netty-4.1.91.Final",
"netty-4.1.90.Final",
"netty-4.1.89.Final",
"netty-4.1.88.Final",
"netty-4.1.87.Final",
"netty-4.1.86.Final",
"netty-4.1.85.Final",
"netty-4.1.84.Final",
"netty-4.1.83.Final",
"netty-4.1.82.Final",
"netty-4.1.81.Final",
"netty-4.1.80.Final",
"netty-4.1.79.Final",
"netty-4.1.78.Final",
"netty-4.1.77.Final",
"netty-4.1.76.Final",
"netty-4.1.75.Final",
"netty-4.1.74.Final",
"netty-4.1.73.Final",
"netty-4.1.72.Final",
"netty-4.1.71.Final",
"netty-4.1.70.Final",
"netty-4.1.69.Final",
"netty-4.1.68.Final",
"netty-4.1.67.Final",
"netty-4.1.66.Final",
"netty-4.1.65.Final",
"netty-4.1.64.Final",
"netty-4.1.63.Final",
"netty-4.1.62.Final",
"netty-4.1.61.Final",
"netty-4.1.60.Final",
"netty-4.1.59.Final",
"netty-4.1.58.Final",
"netty-4.1.57.Final",
"netty-4.1.56.Final",
"netty-4.1.55.Final",
"netty-4.1.54.Final",
"netty-4.1.53.Final",
"netty-4.1.52.Final",
"netty-4.1.51.Final",
"netty-4.1.50.Final",
"netty-4.1.49.Final",
"netty-4.1.48.Final",
"netty-4.1.47.Final",
"netty-4.1.46.Final",
"netty-4.1.45.Final",
"netty-4.1.44.Final",
"netty-4.1.43.Final",
"netty-4.1.42.Final",
"netty-4.1.41.Final",
"netty-4.1.40.Final",
"netty-4.1.39.Final",
"netty-4.1.38.Final",
"netty-4.1.37.Final",
"netty-4.1.36.Final",
"netty-4.1.35.Final",
"netty-4.1.34.Final",
"netty-4.1.33.Final",
"netty-4.1.32.Final",
"netty-4.1.31.Final",
"netty-4.1.30.Final",
"netty-4.1.29.Final",
"netty-4.1.28.Final",
"netty-4.1.27.Final",
"netty-4.1.26.Final",
"netty-4.1.25.Final",
"netty-4.1.24.Final",
"netty-4.1.23.Final",
"netty-4.1.22.Final",
"netty-4.1.21.Final",
"netty-4.1.20.Final",
"netty-4.1.19.Final",
"netty-4.1.18.Final",
"netty-4.1.17.Final",
"netty-4.1.16.Final",
"netty-4.1.15.Final",
"netty-4.1.14.Final",
"netty-4.1.13.Final",
"netty-4.1.12.Final",
"netty-4.1.11.Final",
"netty-4.1.10.Final",
"netty-4.1.9.Final",
"netty-4.1.8.Final",
"netty-4.1.7.Final",
"netty-4.1.6.Final",
"netty-4.1.5.Final",
"netty-4.1.4.Final",
"netty-4.1.3.Final",
"netty-4.1.2.Final",
"netty-4.1.1.Final",
"netty-4.1.0.Final",
"netty-4.1.0.CR7",
"netty-4.1.0.CR6",
"netty-4.1.0.CR5",
"netty-4.1.0.CR4",
"netty-4.1.0.CR3",
"netty-4.1.0.CR2",
"netty-4.1.0.CR1",
"netty-4.1.0.Beta8",
"netty-4.1.0.Beta7",
"netty-4.1.0.Beta6",
"netty-4.1.0.Beta5",
"netty-4.1.0.Beta4",
"netty-4.1.0.Beta3",
"netty-4.1.0.Beta2",
"netty-4.1.0.Beta1",
"netty-4.0.15.Final",
"netty-4.0.14.Final",
"netty-4.0.14.Beta1",
"netty-4.0.13.Final",
"netty-4.0.12.Final",
"netty-4.0.11.Final",
"netty-4.0.10.Final",
"netty-4.0.8.Final",
"netty-4.0.7.Final",
"netty-4.0.6.Final",
"netty-4.0.5.Final",
"netty-4.0.4.Final",
"netty-4.0.3.Final",
"netty-4.0.2.Final",
"netty-4.0.1.Final",
"netty-4.0.0.Final",
"netty-4.0.0.CR9",
"netty-4.0.0.CR8",
"netty-4.0.0.CR7",
"netty-4.0.0.CR5",
"netty-4.0.0.CR4",
"netty-4.0.0.CR3",
"netty-4.0.0.CR2",
"netty-4.0.0.CR1",
"netty-4.0.0.Beta3",
"netty-4.0.0.Beta2",
"netty-4.0.0.Beta1",
"netty-4.0.0.Alpha8",
"netty-4.0.0.Alpha7",
"netty-4.0.0.Alpha6",
"netty-4.0.0.Alpha5",
"netty-4.0.0.Alpha4",
"netty-4.0.0.Alpha3",
"netty-4.0.0.Alpha2",
"netty-4.0.0.Alpha1"
],
"database_specific": {
"source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-42584.json"
}
}
],
"modified": "2026-10-28T02:30:49.836289724Z",
"provider": "osv",
"references": [
"https://security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-42584.json",
"https://access.redhat.com/errata/RHSA-2026:23808",
"https://access.redhat.com/errata/RHSA-2026:24502",
"https://access.redhat.com/errata/RHSA-2026:25123",
"https://access.redhat.com/errata/RHSA-2026:28010",
"https://access.redhat.com/errata/RHSA-2026:36820",
"https://access.redhat.com/errata/RHSA-2026:37390",
"https://access.redhat.com/errata/RHSA-2026:42644",
"https://access.redhat.com/errata/RHSA-2026:49700",
"https://access.redhat.com/errata/RHSA-2026:49701",
"https://access.redhat.com/errata/RHSA-2026:53644",
"https://access.redhat.com/errata/RHSA-2026:53645",
"https://access.redhat.com/errata/RHSA-2026:53646",
"https://access.redhat.com/errata/RHSA-2026:54435",
"https://access.redhat.com/errata/RHSA-2026:65126",
"https://access.redhat.com/errata/RHSA-2026:66488",
"https://access.redhat.com/errata/RHSA-2026:66545",
"https://access.redhat.com/security/cve/CVE-2026-42584",
"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/42xxx/CVE-2026-42584.json",
"https://github.com/netty/netty/security/advisories/GHSA-57rv-r2g8-2cj3",
"https://nvd.nist.gov/vuln/detail/CVE-2026-42584",
"https://bugzilla.redhat.com/show_bug.cgi?id=2477224"
],
"provider_metadata": {
"cwe_ids": [
"CWE-444"
],
"cna_assigner": "GitHub_M",
"osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/42xxx/CVE-2026-42584.json"
}
},
"related_cves": [
{
"value": "CVE-2026-42584",
"evidence": "/id"
}
],
"security_relevant": true,
"severity_evidence": "/severity/0/score"
},
"source_id": "core-osv",
"document_id": 518301,
"published_at": "2026-05-13T18:10:48.437+00:00"
}