Netty Bzip2Decoder: Infinite Loop in RLE State Machine Leads to Event-Loop Thread Hang
Netty is an asynchronous, event-driven network application framework. Prior to versions 4.1.136.Final and 4.2.16.Final, the `Bzip2Decoder` handler in Netty's compression codec pipeline is vulnerable to a denial-of-service attack through a malformed bzip2 stream that permanently captures the event-loop thread in an infinite loop. The vulnerability exists in the run-length encoding (RLE) state machine within [`Bzip2BlockDecompressor.read()`]. This issue has been fixed in versions 4.1.136.Final and 4.2.16.Final.
- Products
- Not specified
- Affected versions
- Not specified
- Fixed versions
- Not specified
- CVEs
- CVE-2026-59901
- Confirmed fixed CVEs
- Not specified
- Updated in this feed
- 6 Nov 2026, 09:01 UTC · Revision 1
Source evidence
Netty Bzip2Decoder: Infinite Loop in RLE State Machine Leads to Event-Loop Thread Hang
core-osv · Original sourcePublished 29 Jul 2026, 17:48 UTC
Netty is an asynchronous, event-driven network application framework. Prior to versions 4.1.136.Final and 4.2.16.Final, the `Bzip2Decoder` handler in Netty's compression codec pipeline is vulnerable to a denial-of-service attack through a malformed bzip2 stream that permanently captures the event-loop thread in an infinite loop. The vulnerability exists in the run-length encoding (RLE) state machine within [`Bzip2BlockDecompressor.read()`]. This issue has been fixed in versions 4.1.136.Final and 4.2.16.Final.
osv:CVE-2026-59901
Complete source record
{
"id": "79f0706aa7aa9e3154b4bb220245cfcfb1448b40d88e8c5b0b9ebf7173471329",
"url": "https://osv.dev/vulnerability/CVE-2026-59901",
"method": "structured",
"payload": {
"kind": "advisory",
"title": "Netty Bzip2Decoder: Infinite Loop in RLE State Machine Leads to Event-Loop Thread Hang",
"summary": "Netty is an asynchronous, event-driven network application framework. Prior to versions 4.1.136.Final and 4.2.16.Final, the `Bzip2Decoder` handler in Netty's compression codec pipeline is vulnerable to a denial-of-service attack through a malformed bzip2 stream that permanently captures the event-loop thread in an infinite loop. The vulnerability exists in the run-length encoding (RLE) state machine within [`Bzip2BlockDecompressor.read()`]. This issue has been fixed in versions 4.1.136.Final and 4.2.16.Final.",
"evidence": "osv:CVE-2026-59901",
"products": [],
"severity": "high",
"structured": {
"id": "CVE-2026-59901",
"aliases": [
"CVE-2026-59901",
"GHSA-558v-64gr-wgg4"
],
"metrics": [
{
"type": "CVSS_V4",
"score": "CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N"
}
],
"affected": [
{
"ranges": [
{
"repo": "https://github.com/netty/netty",
"type": "GIT",
"events": [
{
"introduced": "0"
},
{
"fixed": "fca0764703b3bb59c6e6dc5d29c6d9710d35c0e6"
},
{
"introduced": "09e64d259c99be8b5b2a471a78f11e65eb82598a"
},
{
"fixed": "3703d79669ee024f6483c9d8697ac58ba546df33"
}
],
"database_specific": {
"extracted_events": [
{
"cpe": "cpe:2.3:a:netty:netty:*:*:*:*:*:*:*:*",
"range": [
{
"introduced": "0"
},
{
"fixed": "4.1.136"
}
],
"source": "CPE_RANGE"
},
{
"cpe": "cpe:2.3:a:netty:netty:*:*:*:*:*:*:*:*",
"range": [
{
"introduced": "4.2.0"
},
{
"fixed": "4.2.16"
}
],
"source": "CPE_RANGE"
}
]
}
}
],
"versions": [
"netty-4.1.135.Final",
"netty-4.2.15.Final",
"netty-4.1.134.Final",
"netty-4.2.14.Final",
"netty-4.1.133.Final",
"netty-4.2.13.Final",
"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-59901.json"
}
}
],
"modified": "2026-10-28T02:30:47.229818992Z",
"provider": "osv",
"references": [
"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/59xxx/CVE-2026-59901.json",
"https://github.com/netty/netty/security/advisories/GHSA-558v-64gr-wgg4",
"https://nvd.nist.gov/vuln/detail/CVE-2026-59901"
],
"provider_metadata": {
"cwe_ids": [
"CWE-835"
],
"cna_assigner": "GitHub_M",
"osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/59xxx/CVE-2026-59901.json"
}
},
"related_cves": [
{
"value": "CVE-2026-59901",
"evidence": "/id"
}
],
"security_relevant": true,
"severity_evidence": "/severity/0/score"
},
"source_id": "core-osv",
"document_id": 515037,
"published_at": "2026-07-29T17:48:39.621+00:00"
}