{"id":"CVE-2022-41915","aliases":["CLSA-2025-1764202056","CLSA-2026-1792580190","DEBIAN-CVE-2022-41915","DLA-3268-1","DSA-5316-1","EUVD-2022-7648","GHSA-hh82-3pmq-7frp","SUSE-SU-2023:2096-1","SUSE-SU-2023:2096-2","UBUNTU-CVE-2022-41915","USN-6049-1","openSUSE-SU-2024:14442-1"],"status":"published","title":"Netty vulnerable to HTTP Response splitting from assigning header value iterator","description":"Netty project is an event-driven asynchronous network application framework. Starting in version 4.1.83.Final and prior to 4.1.86.Final, when calling `DefaultHttpHeadesr.set` with an _iterator_ of values, header value validation was not performed, allowing malicious header values in the iterator to perform HTTP Response Splitting. This issue has been patched in version 4.1.86.Final. Integrators can work around the issue by changing the `DefaultHttpHeaders.set(CharSequence, Iterator\u003c?\u003e)` call, into a `remove()` call, and call `add()` in a loop over the iterator of values.","severity":{"version":"3.1","score":6.5,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:N","level":"medium","assessor":"cna","from":"cve"},"epss":{"day":"2026-11-10","score":0.00952,"percentile":0.61622,"model":"v2026.06.15"},"facts":{"in_kev":false,"known_exploited":false,"public_exploit":false,"fix_available":true},"cwes":["CWE-113","CWE-436"],"published":"2022-12-12T21:25:44Z","modified":"2026-11-10T19:45:05Z","fixes":[{"ecosystem":"Maven","package":"io.netty:netty-codec-http","fixed_in":["4.1.86.Final"],"sources":["ghsa","osv"]},{"ecosystem":"TuxCare:Maven","package":"io.netty:netty-codec-http","fixed_in":["4.1.80.Final-tuxcare.2"],"sources":["osv"]},{"ecosystem":"Debian:12","package":"netty","fixed_in":["1:4.1.48-6"],"sources":["osv"]},{"ecosystem":"Debian:13","package":"netty","fixed_in":["1:4.1.48-6"],"sources":["osv"]},{"ecosystem":"Debian:14","package":"netty","fixed_in":["1:4.1.48-6"],"sources":["osv"]},{"ecosystem":"Ubuntu:Pro:16.04:LTS","package":"netty","fixed_in":["1:4.0.34-1ubuntu0.1~esm1"],"sources":["osv"]},{"ecosystem":"Ubuntu:Pro:18.04:LTS","package":"netty","fixed_in":["1:4.1.7-4ubuntu0.1+esm2"],"sources":["osv"]},{"ecosystem":"Ubuntu:Pro:20.04:LTS","package":"netty","fixed_in":["1:4.1.45-1ubuntu0.1~esm1"],"sources":["osv"]},{"ecosystem":"Ubuntu:22.04:LTS","package":"netty","fixed_in":["1:4.1.48-4+deb11u1build0.22.04.1"],"sources":["osv"]}],"affected":[{"source":"ghsa","ecosystem":"Maven","package":"io.netty:netty-codec-http","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"4.1.83.Final"},{"fixed":"4.1.86.Final"}]}]},{"source":"osv","ecosystem":"TuxCare:Maven","package":"io.netty:netty-codec","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"4.1.63.Final"},{"fixed":"4.1.63.Final-tuxcare.2"}]}],"versions":["4.1.63.Final","4.1.63.Final-tuxcare.1"],"bundled":12},{"source":"osv","ecosystem":"TuxCare:Maven","package":"io.netty:netty-codec-haproxy","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"4.1.63.Final"},{"fixed":"4.1.63.Final-tuxcare.2"}]}],"versions":["4.1.63.Final","4.1.63.Final-tuxcare.1"],"bundled":12},{"source":"osv","ecosystem":"TuxCare:Maven","package":"io.netty:netty-codec-http","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"4.1.63.Final"},{"fixed":"4.1.63.Final-tuxcare.2"}]}],"versions":["4.1.63.Final","4.1.63.Final-tuxcare.1"],"bundled":12},{"source":"osv","ecosystem":"TuxCare:Maven","package":"io.netty:netty-codec-http2","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"4.1.63.Final"},{"fixed":"4.1.63.Final-tuxcare.2"}]}],"versions":["4.1.63.Final","4.1.63.Final-tuxcare.1"],"bundled":12},{"source":"osv","ecosystem":"TuxCare:Maven","package":"io.netty:netty-common","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"4.1.63.Final"},{"fixed":"4.1.63.Final-tuxcare.2"}]}],"versions":["4.1.63.Final","4.1.63.Final-tuxcare.1"],"bundled":12},{"source":"osv","ecosystem":"TuxCare:Maven","package":"io.netty:netty-handler","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"4.1.63.Final"},{"fixed":"4.1.63.Final-tuxcare.2"}]}],"versions":["4.1.63.Final","4.1.63.Final-tuxcare.1"],"bundled":12},{"source":"osv","ecosystem":"TuxCare:Maven","package":"io.netty:netty-codec-http","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"4.1.80.Final"},{"fixed":"4.1.80.Final-tuxcare.2"}]}],"versions":["4.1.80.Final","4.1.80.Final-tuxcare.1"]},{"source":"osv","ecosystem":"Debian:12","package":"netty","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1:4.1.48-6"}]}]},{"source":"osv","ecosystem":"Debian:13","package":"netty","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1:4.1.48-6"}]}]},{"source":"osv","ecosystem":"Debian:14","package":"netty","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1:4.1.48-6"}]}]},{"source":"osv","ecosystem":"Debian:10","package":"netty","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1:4.1.33-1+deb10u3"}]}],"versions":["1:4.1.33-1","1:4.1.33-1+deb10u1","1:4.1.33-1+deb10u2"],"bundled":5},{"source":"osv","ecosystem":"Debian:11","package":"netty","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1:4.1.48-4+deb11u1"}]}],"versions":["1:4.1.48-4"],"bundled":5},{"source":"osv","ecosystem":"Maven","package":"io.netty:netty-codec-http","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"4.1.83.Final"},{"fixed":"4.1.86.Final"}]}],"versions":["4.1.83.Final","4.1.84.Final","4.1.85.Final"]},{"source":"osv","ecosystem":"SUSE:Linux Enterprise Module for Development Tools 15 SP4","package":"netty-tcnative","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"2.0.59-150200.3.10.1"}]}],"bundled":3},{"source":"osv","ecosystem":"SUSE:Linux Enterprise High Performance Computing 15 SP2-LTSS","package":"netty-tcnative","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"2.0.59-150200.3.10.1"}]}],"bundled":3},{"source":"osv","ecosystem":"SUSE:Linux Enterprise High Performance Computing 15 SP3-ESPOS","package":"netty-tcnative","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"2.0.59-150200.3.10.1"}]}],"bundled":3},{"source":"osv","ecosystem":"SUSE:Linux Enterprise High Performance Computing 15 SP3-LTSS","package":"netty-tcnative","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"2.0.59-150200.3.10.1"}]}],"bundled":3},{"source":"osv","ecosystem":"SUSE:Linux Enterprise Real Time 15 SP3","package":"netty-tcnative","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"2.0.59-150200.3.10.1"}]}],"bundled":3},{"source":"osv","ecosystem":"SUSE:Linux Enterprise Server 15 SP2-LTSS","package":"netty-tcnative","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"2.0.59-150200.3.10.1"}]}],"bundled":3},{"source":"osv","ecosystem":"SUSE:Linux Enterprise Server 15 SP3-LTSS","package":"netty-tcnative","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"2.0.59-150200.3.10.1"}]}],"bundled":3},{"source":"osv","ecosystem":"SUSE:Linux Enterprise Server for SAP Applications 15 SP2","package":"netty-tcnative","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"2.0.59-150200.3.10.1"}]}],"bundled":3},{"source":"osv","ecosystem":"SUSE:Linux Enterprise Server for SAP Applications 15 SP3","package":"netty-tcnative","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"2.0.59-150200.3.10.1"}]}],"bundled":3},{"source":"osv","ecosystem":"SUSE:Enterprise Storage 7","package":"netty-tcnative","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"2.0.59-150200.3.10.1"}]}],"bundled":3},{"source":"osv","ecosystem":"SUSE:Enterprise Storage 7.1","package":"netty-tcnative","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"2.0.59-150200.3.10.1"}]}],"bundled":3},{"source":"osv","ecosystem":"openSUSE:Leap 15.4","package":"netty","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"4.1.90-150200.4.14.1"}]}],"bundled":3},{"source":"osv","ecosystem":"openSUSE:Leap 15.4","package":"netty-tcnative","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"2.0.59-150200.3.10.1"}]}],"bundled":3},{"source":"osv","ecosystem":"SUSE:Linux Enterprise Module for Development Tools 15 SP5","package":"netty-tcnative","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"2.0.59-150200.3.10.1"}]}],"bundled":3},{"source":"osv","ecosystem":"SUSE:Linux Enterprise Module for Package Hub 15 SP5","package":"netty","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"4.1.90-150200.4.14.1"}]}],"bundled":3},{"source":"osv","ecosystem":"openSUSE:Leap 15.5","package":"netty","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"4.1.90-150200.4.14.1"}]}],"bundled":3},{"source":"osv","ecosystem":"openSUSE:Leap 15.5","package":"netty-tcnative","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"2.0.59-150200.3.10.1"}]}],"bundled":3},{"source":"osv","ecosystem":"Ubuntu:Pro:16.04:LTS","package":"netty","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1:4.0.34-1ubuntu0.1~esm1"}]}],"versions":["1:3.2.6.Final-2","1:4.0.32-1","1:4.0.33-1","1:4.0.34-1"]},{"source":"osv","ecosystem":"Ubuntu:16.04:LTS","package":"netty-3.9","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["3.9.0.Final-1","3.9.0.Final-1ubuntu0.1"]},{"source":"osv","ecosystem":"Ubuntu:Pro:18.04:LTS","package":"netty","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1:4.1.7-4ubuntu0.1+esm2"}]}],"versions":["1:4.1.7-4","1:4.1.7-4ubuntu0.1~esm1","1:4.1.7-4ubuntu0.1","1:4.1.7-4ubuntu0.1+esm1"]},{"source":"osv","ecosystem":"Ubuntu:18.04:LTS","package":"netty-3.9","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["3.9.9.Final-1","3.9.9.Final-1+deb9u1build0.18.04.1"]},{"source":"osv","ecosystem":"Ubuntu:Pro:20.04:LTS","package":"netty","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1:4.1.45-1ubuntu0.1~esm1"}]}],"versions":["1:4.1.33-1","1:4.1.33-2","1:4.1.33-3","1:4.1.45-1"]},{"source":"osv","ecosystem":"Ubuntu:22.04:LTS","package":"netty","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1:4.1.48-4+deb11u1build0.22.04.1"}]}],"versions":["1:4.1.48-4"]},{"source":"osv","ecosystem":"Ubuntu:Pro:16.04:LTS","package":"netty","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1:4.0.34-1ubuntu0.1~esm1"}]}],"versions":["1:3.2.6.Final-2","1:4.0.32-1","1:4.0.33-1","1:4.0.34-1"],"bundled":9},{"source":"osv","ecosystem":"Ubuntu:Pro:18.04:LTS","package":"netty","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1:4.1.7-4ubuntu0.1+esm2"}]}],"versions":["1:4.1.7-4","1:4.1.7-4ubuntu0.1~esm1","1:4.1.7-4ubuntu0.1","1:4.1.7-4ubuntu0.1+esm1"],"bundled":9},{"source":"osv","ecosystem":"Ubuntu:Pro:20.04:LTS","package":"netty","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1:4.1.45-1ubuntu0.1~esm1"}]}],"versions":["1:4.1.33-1","1:4.1.33-2","1:4.1.33-3","1:4.1.45-1"],"bundled":9},{"source":"osv","ecosystem":"Ubuntu:22.04:LTS","package":"netty","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1:4.1.48-4+deb11u1build0.22.04.1"}]}],"versions":["1:4.1.48-4"],"bundled":9},{"source":"osv","ecosystem":"openSUSE:Tumbleweed","package":"netty","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"4.1.114-1.1"}]}],"bundled":9}],"products":[{"vendor":"debian","product":"debian_linux"},{"vendor":"netty","product":"netty"}],"references":[{"url":"https://github.com/netty/netty/security/advisories/GHSA-hh82-3pmq-7frp","tags":["x_transferred","Mitigation","Third Party Advisory","advisory","web","report"]},{"url":"https://github.com/netty/netty/issues/13084","tags":["x_transferred","Exploit","Issue Tracking","Third Party Advisory","report","web"]},{"url":"https://github.com/netty/netty/pull/12760","tags":["x_transferred","Patch","Third Party Advisory","fix","web"]},{"url":"https://github.com/netty/netty/commit/fe18adff1c2b333acb135ab779a3b9ba3295a1c4","tags":["x_transferred","Patch","Third Party Advisory","fix","web"]},{"url":"https://lists.debian.org/debian-lts-announce/2023/01/msg00008.html","tags":["mailing-list","x_transferred","Mailing List","Third Party Advisory","article","web"]},{"url":"https://www.debian.org/security/2023/dsa-5316","tags":["vendor-advisory","x_transferred","Third Party Advisory","advisory","web"]},{"url":"https://security.netapp.com/advisory/ntap-20230113-0004/","tags":["x_transferred","Third Party Advisory","advisory"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2022-41915","tags":["advisory"]},{"url":"https://github.com/netty/netty/commit/c37c637f096e7be3dffd36edee3455c8e90cb1b0","tags":["web"]},{"url":"https://github.com/advisories/GHSA-hh82-3pmq-7frp"},{"url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2022/41xxx/CVE-2022-41915.json","tags":["advisory"]},{"url":"https://security-tracker.debian.org/tracker/CVE-2022-41915","tags":["advisory"]},{"url":"https://github.com/netty/netty","tags":["web"]},{"url":"https://security.netapp.com/advisory/ntap-20230113-0004","tags":["web"]},{"url":"https://www.suse.com/support/update/announcement/2023/suse-su-20232096-1/","tags":["advisory"]},{"url":"https://bugzilla.suse.com/1199338","tags":["report"]},{"url":"https://bugzilla.suse.com/1206360","tags":["report"]},{"url":"https://bugzilla.suse.com/1206379","tags":["report"]},{"url":"https://www.suse.com/security/cve/CVE-2022-24823","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2022-41881","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2022-41915","tags":["web"]},{"url":"https://www.suse.com/support/update/announcement/2023/suse-su-20232096-2/","tags":["advisory"]},{"url":"https://ubuntu.com/security/CVE-2022-41915","tags":["report"]},{"url":"https://ubuntu.com/security/notices/USN-6049-1","tags":["advisory"]},{"url":"https://www.cve.org/CVERecord?id=CVE-2022-41915","tags":["report"]},{"url":"https://ubuntu.com/security/CVE-2020-11612","tags":["report"]},{"url":"https://ubuntu.com/security/CVE-2021-21290","tags":["report"]},{"url":"https://ubuntu.com/security/CVE-2021-21295","tags":["report"]},{"url":"https://ubuntu.com/security/CVE-2021-21409","tags":["report"]},{"url":"https://ubuntu.com/security/CVE-2021-37136","tags":["report"]},{"url":"https://ubuntu.com/security/CVE-2021-37137","tags":["report"]},{"url":"https://ubuntu.com/security/CVE-2021-43797","tags":["report"]},{"url":"https://ubuntu.com/security/CVE-2022-41881","tags":["report"]},{"url":"https://lists.opensuse.org/archives/list/security-announce@lists.opensuse.org/thread/TNFN6MBU4SQLAGX7GNFLRGTPGY3IBHZG/","tags":["advisory"]},{"url":"https://www.suse.com/security/cve/CVE-2021-21409","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2021-37136","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2021-37137","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2023-34462","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2023-44487","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2024-29025","tags":["web"]}],"sources":{"cve":[{"id":"CVE-2022-41915","description":"Netty project is an event-driven asynchronous network application framework. Starting in version 4.1.83.Final and prior to 4.1.86.Final, when calling `DefaultHttpHeadesr.set` with an _iterator_ of values, header value validation was not performed, allowing malicious header values in the iterator to perform HTTP Response Splitting. This issue has been patched in version 4.1.86.Final. Integrators can work around the issue by changing the `DefaultHttpHeaders.set(CharSequence, Iterator\u003c?\u003e)` call, into a `remove()` call, and call `add()` in a loop over the iterator of values.","status":"published","published":"2022-12-13T00:00:00Z","modified":"2025-04-22T15:57:32.87Z","cvss":[{"version":"3.1","score":6.5,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:N","level":"medium","assessor":"cna"}],"cwes":["CWE-436","CWE-113"],"updated_at":"2026-11-02T14:34:28.038197Z"}],"euvd":[{"id":"EUVD-2022-7648","description":"Netty project is an event-driven asynchronous network application framework. Starting in version 4.1.83.Final and prior to 4.1.86.Final, when calling `DefaultHttpHeadesr.set` with an _iterator_ of values, header value validation was not performed, allowing malicious header values in the iterator to perform HTTP Response Splitting. This issue has been patched in version 4.1.86.Final. Integrators can work around the issue by changing the `DefaultHttpHeaders.set(CharSequence, Iterator\u003c?\u003e)` call, into a `remove()` call, and call `add()` in a loop over the iterator of values.","status":"published","published":"2022-12-13T00:00:00Z","modified":"2025-04-22T15:57:32Z","cvss":[{"version":"3.1","score":6.5,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:N","level":"medium"}],"updated_at":"2026-11-02T20:52:16.784071Z"}],"ghsa":[{"id":"GHSA-hh82-3pmq-7frp","title":"Netty vulnerable to HTTP Response splitting from assigning header value iterator","description":"### Impact\nWhen calling `DefaultHttpHeaders.set` with an _iterator_ of values (as opposed to a single given value), header value validation was not performed, allowing malicious header values in the iterator to perform [HTTP Response Splitting](https://owasp.org/www-community/attacks/HTTP_Response_Splitting).\n\n### Patches\nThe necessary validation was added in Netty 4.1.86.Final.\n\n### Workarounds\nIntegrators can work around the issue by changing the `DefaultHttpHeaders.set(CharSequence, Iterator\u003c?\u003e)` call, into a `remove()` call, and call `add()` in a loop over the iterator of values.\n\n### References\n[HTTP Response Splitting](https://owasp.org/www-community/attacks/HTTP_Response_Splitting)\n[CWE-113: Improper Neutralization of CRLF Sequences in HTTP Headers](https://cwe.mitre.org/data/definitions/113.html)\n\n### For more information\nIf you have any questions or comments about this advisory:\n* Open an issue in [[example link to repo](https://github.com/netty/netty)](https://github.com/netty/netty)\n* Email us at [netty-security@googlegroups.com](mailto:netty-security@googlegroups.com)\n","status":"published","published":"2022-12-12T21:25:44Z","modified":"2023-01-29T05:03:24Z","cvss":[{"version":"3.1","score":6.5,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:N","level":"medium"}],"cwes":["CWE-113","CWE-436"],"updated_at":"2026-11-02T14:36:25.835323Z"}],"nvd":[{"id":"CVE-2022-41915","description":"Netty project is an event-driven asynchronous network application framework. Starting in version 4.1.83.Final and prior to 4.1.86.Final, when calling `DefaultHttpHeadesr.set` with an _iterator_ of values, header value validation was not performed, allowing malicious header values in the iterator to perform HTTP Response Splitting. This issue has been patched in version 4.1.86.Final. Integrators can work around the issue by changing the `DefaultHttpHeaders.set(CharSequence, Iterator\u003c?\u003e)` call, into a `remove()` call, and call `add()` in a loop over the iterator of values.","status":"published","published":"2022-12-13T07:15:13.557Z","modified":"2026-06-17T05:04:03.3Z","cvss":[{"version":"3.1","score":6.5,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:N","level":"medium","assessor":"secondary"},{"version":"3.1","score":6.5,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:N","level":"medium","assessor":"primary"}],"cwes":["CWE-113","CWE-436"],"updated_at":"2026-11-02T14:07:33.649381Z"}],"osv":[{"id":"CVE-2022-41915","description":"Netty project is an event-driven asynchronous network application framework. Starting in version 4.1.83.Final and prior to 4.1.86.Final, when calling `DefaultHttpHeadesr.set` with an _iterator_ of values, header value validation was not performed, allowing malicious header values in the iterator to perform HTTP Response Splitting. This issue has been patched in version 4.1.86.Final. Integrators can work around the issue by changing the `DefaultHttpHeaders.set(CharSequence, Iterator\u003c?\u003e)` call, into a `remove()` call, and call `add()` in a loop over the iterator of values.","status":"published","published":"2022-12-13T00:00:00Z","modified":"2026-10-28T10:30:53.649981976Z","cvss":[{"version":"3.1","score":6.5,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:N","level":"medium"}],"cwes":["CWE-113","CWE-436"],"updated_at":"2026-11-02T15:44:27.186787Z"},{"id":"GHSA-hh82-3pmq-7frp","title":"Netty vulnerable to HTTP Response splitting from assigning header value iterator","description":"### Impact\nWhen calling `DefaultHttpHeaders.set` with an _iterator_ of values (as opposed to a single given value), header value validation was not performed, allowing malicious header values in the iterator to perform [HTTP Response Splitting](https://owasp.org/www-community/attacks/HTTP_Response_Splitting).\n\n### Patches\nThe necessary validation was added in Netty 4.1.86.Final.\n\n### Workarounds\nIntegrators can work around the issue by changing the `DefaultHttpHeaders.set(CharSequence, Iterator\u003c?\u003e)` call, into a `remove()` call, and call `add()` in a loop over the iterator of values.\n\n### References\n[HTTP Response Splitting](https://owasp.org/www-community/attacks/HTTP_Response_Splitting)\n[CWE-113: Improper Neutralization of CRLF Sequences in HTTP Headers](https://cwe.mitre.org/data/definitions/113.html)\n\n### For more information\nIf you have any questions or comments about this advisory:\n* Open an issue in [[example link to repo](https://github.com/netty/netty)](https://github.com/netty/netty)\n* Email us at [netty-security@googlegroups.com](mailto:netty-security@googlegroups.com)\n","status":"published","published":"2022-12-12T21:25:44Z","modified":"2026-01-28T03:41:22.75908Z","cvss":[{"version":"3.1","score":6.5,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:N","level":"medium"}],"cwes":["CWE-113","CWE-436"],"updated_at":"2026-11-02T15:46:49.28217Z"},{"id":"UBUNTU-CVE-2022-41915","description":"Netty project is an event-driven asynchronous network application framework. Starting in version 4.1.83.Final and prior to 4.1.86.Final, when calling `DefaultHttpHeadesr.set` with an _iterator_ of values, header value validation was not performed, allowing malicious header values in the iterator to perform HTTP Response Splitting. This issue has been patched in version 4.1.86.Final. Integrators can work around the issue by changing the `DefaultHttpHeaders.set(CharSequence, Iterator\u003c?\u003e)` call, into a `remove()` call, and call `add()` in a loop over the iterator of values.","status":"published","published":"2022-12-13T07:15:00Z","modified":"2026-02-04T02:50:20.708392Z","cvss":[{"version":"3.1","score":6.5,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:N","level":"medium"},{"version":"3.1","score":6.5,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:N","level":"medium"}],"updated_at":"2026-11-02T16:53:55.502114Z"},{"id":"CLSA-2025-1764202056","title":"TuxCare security update for io.netty (11 CVEs)","description":"TuxCare rebuilt 6 io.netty packages to address 11 CVEs. Fixed in 4.1.63.Final-tuxcare.2.","status":"published","published":"2026-08-04T14:52:06Z","modified":"2026-11-10T19:45:05.399565782Z","updated_at":"2026-11-10T20:12:44.559934Z"},{"id":"CLSA-2026-1792580190","title":"TuxCare security update for io.netty:netty-codec-http (1 CVE)","description":"TuxCare rebuilt io.netty:netty-codec-http to address 1 CVE. Fixed in 4.1.80.Final-tuxcare.2.","status":"published","published":"2026-10-21T10:56:30Z","modified":"2026-11-02T19:46:30.136209026Z","updated_at":"2026-11-02T20:28:59.01272Z"},{"id":"DEBIAN-CVE-2022-41915","description":"Netty project is an event-driven asynchronous network application framework. Starting in version 4.1.83.Final and prior to 4.1.86.Final, when calling `DefaultHttpHeadesr.set` with an _iterator_ of values, header value validation was not performed, allowing malicious header values in the iterator to perform HTTP Response Splitting. This issue has been patched in version 4.1.86.Final. Integrators can work around the issue by changing the `DefaultHttpHeaders.set(CharSequence, Iterator\u003c?\u003e)` call, into a `remove()` call, and call `add()` in a loop over the iterator of values.","status":"published","published":"2022-12-13T07:15:13.557Z","modified":"2026-11-03T06:02:57.71900334Z","updated_at":"2026-11-03T06:43:19.563245Z"},{"id":"DLA-3268-1","title":"netty - security update","status":"published","published":"2023-01-11T00:00:00Z","modified":"2026-03-09T01:20:10.574859Z","updated_at":"2026-11-02T15:46:11.734021Z"},{"id":"DSA-5316-1","title":"netty - security update","status":"published","published":"2023-01-11T00:00:00Z","modified":"2026-03-09T02:11:04.895474Z","updated_at":"2026-11-02T15:46:17.543497Z"},{"id":"openSUSE-SU-2024:14442-1","title":"netty-4.1.114-1.1 on GA media","description":"These are all security issues fixed in the netty-4.1.114-1.1 package on the GA media of openSUSE Tumbleweed.","status":"published","published":"2024-10-30T00:00:00Z","modified":"2025-05-07T18:12:26.568518Z","updated_at":"2026-11-02T16:58:36.976155Z"},{"id":"SUSE-SU-2023:2096-1","title":"Security update for netty, netty-tcnative","description":"This update for netty, netty-tcnative fixes the following issues:\n\nnetty:\n\n- Security fixes included in this version update from 4.1.75 to 4.1.90:\n  * CVE-2022-24823: Local Information Disclosure Vulnerability in Netty on Unix-Like systems due temporary files for\n    Java 6 and lower in io.netty:netty-codec-http (bsc#1199338)\n  * CVE-2022-41881: HAProxyMessageDecoder Stack Exhaustion DoS (bsc#1206360)\n  * CVE-2022-41915: HTTP Response splitting from assigning header value iterator (bsc#1206379)\n    \n- Other non-security bug fixes included in this version update from 4.1.75 to 4.1.90:\n  * Build with Java 11 on ix86 architecture in order to avoid build failures \n  * Fix `HttpHeaders.names` for non-String headers\n  * Fix `FlowControlHandler` behaviour to pass read events when auto-reading is turned off\n  * Fix brotli compression\n  * Fix a bug in FlowControlHandler that broke auto-read\n  * Fix a potential memory leak bug has been in the pooled allocator\n  * Fix a scalability issue caused by instanceof and check-cast checks that lead to false-sharing on the \n    `Klass::secondary_super_cache` field in the JVM\n  * Fix a bug in our `PEMParser` when PEM files have multiple objects, and `BouncyCastle` is on the classpath\n  * Fix several `NullPointerException` bugs\n  * Fix a regression `SslContext` private key loading\n  * Fix a bug in `SslContext` private key reading fall-back path\n  * Fix a buffer leak regression in `HttpClientCodec`\n  * Fix a bug where some `HttpMessage` implementations, that also implement `HttpContent`, were not handled correctly\n  * Fix epoll bug when receiving zero-sized datagrams\n  * Fix a bug in `SslHandler` so `handlerRemoved` works properly even if `handlerAdded` throws an exception\n  * Fix an issue that allowed the multicast methods on `EpollDatagramChannel` to be called outside of an event-loop \n    thread\n  * Fix a bug where an OPT record was added to DNS queries that already had such a record\n  * Fix a bug that caused an error when files uploaded with HTTP POST contained a backslash in their name\n  * Fix an issue in the `BlockHound` integration that could occasionally cause NetUtil to be reported as performing\n    blocking operation. A similar `BlockHound` issue was fixed for the `JdkSslContext`\n  * Fix a bug that prevented preface or settings frames from being flushed, when an HTTP2 connection was established\n    with prior-knowledge\n  * Fix a bug where Netty fails to load a shaded native library\n  * Fix and relax overly strict HTTP/2 header validation check that was rejecting requests from Chrome and Firefox\n  * Fix OpenSSL and BoringSSL implementations to respect the `jdk.tls.client.protocols` and `jdk.tls.server.protocols`\n    system properties, making them react to these in the same way the JDK SSL provider does\n  * Fix inconsitencies in how `epoll`, `kqueue`, and `NIO` handle RDHUP\n  * For a more detailed list of changes please consult the official release notes:\n    +  Changes from 4.1.90: https://netty.io/news/2023/03/14/4-1-90-Final.html\n    +  Changes from 4.1.89: https://netty.io/news/2023/02/13/4-1-89-Final.html\n    +  Changes from 4.1.88: https://netty.io/news/2023/02/12/4-1-88-Final.html\n    +  Changes from 4.1.87: https://netty.io/news/2023/01/12/4-1-87-Final.html\n    +  Changes from 4.1.86: https://netty.io/news/2022/12/12/4-1-86-Final.html\n    +  Changes from 4.1.85: https://netty.io/news/2022/11/09/4-1-85-Final.html\n    +  Changes from 4.1.84: https://netty.io/news/2022/10/11/4-1-84-Final.html\n    +  Changes from 4.1.82: https://netty.io/news/2022/09/13/4-1-82-Final.html\n    +  Changes from 4.1.81: https://netty.io/news/2022/09/08/4-1-81-Final.html\n    +  Changes from 4.1.80: https://netty.io/news/2022/08/26/4-1-80-Final.html\n    +  Changes from 4.1.79: https://netty.io/news/2022/07/11/4-1-79-Final.html\n    +  Changes from 4.1.78: https://netty.io/news/2022/06/14/4-1-78-Final.html\n    +  Changes from 4.1.77: https://netty.io/news/2022/05/06/2-1-77-Final.html\n    +  Changes from 4.1.76: https://netty.io/news/2022/04/12/4-1-76-Final.html\n\nnetty-tcnative:\n    \n- New artifact named `netty-tcnative-classes`, provided by this update is required by netty 4.1.90 which contains \n  important security updates\n- No formal changelog present. This artifact is closely bound to the netty releases\n","status":"published","published":"2023-05-04T07:09:25Z","modified":"2026-02-04T02:32:52.323335Z","updated_at":"2026-11-02T15:53:52.350754Z"},{"id":"SUSE-SU-2023:2096-2","title":"Security update for netty, netty-tcnative","description":"This update for netty, netty-tcnative fixes the following issues:\n\nnetty:\n\n- Security fixes included in this version update from 4.1.75 to 4.1.90:\n  * CVE-2022-24823: Local Information Disclosure Vulnerability in Netty on Unix-Like systems due temporary files for\n    Java 6 and lower in io.netty:netty-codec-http (bsc#1199338)\n  * CVE-2022-41881: HAProxyMessageDecoder Stack Exhaustion DoS (bsc#1206360)\n  * CVE-2022-41915: HTTP Response splitting from assigning header value iterator (bsc#1206379)\n    \n- Other non-security bug fixes included in this version update from 4.1.75 to 4.1.90:\n  * Build with Java 11 on ix86 architecture in order to avoid build failures \n  * Fix `HttpHeaders.names` for non-String headers\n  * Fix `FlowControlHandler` behaviour to pass read events when auto-reading is turned off\n  * Fix brotli compression\n  * Fix a bug in FlowControlHandler that broke auto-read\n  * Fix a potential memory leak bug has been in the pooled allocator\n  * Fix a scalability issue caused by instanceof and check-cast checks that lead to false-sharing on the \n    `Klass::secondary_super_cache` field in the JVM\n  * Fix a bug in our `PEMParser` when PEM files have multiple objects, and `BouncyCastle` is on the classpath\n  * Fix several `NullPointerException` bugs\n  * Fix a regression `SslContext` private key loading\n  * Fix a bug in `SslContext` private key reading fall-back path\n  * Fix a buffer leak regression in `HttpClientCodec`\n  * Fix a bug where some `HttpMessage` implementations, that also implement `HttpContent`, were not handled correctly\n  * Fix epoll bug when receiving zero-sized datagrams\n  * Fix a bug in `SslHandler` so `handlerRemoved` works properly even if `handlerAdded` throws an exception\n  * Fix an issue that allowed the multicast methods on `EpollDatagramChannel` to be called outside of an event-loop \n    thread\n  * Fix a bug where an OPT record was added to DNS queries that already had such a record\n  * Fix a bug that caused an error when files uploaded with HTTP POST contained a backslash in their name\n  * Fix an issue in the `BlockHound` integration that could occasionally cause NetUtil to be reported as performing\n    blocking operation. A similar `BlockHound` issue was fixed for the `JdkSslContext`\n  * Fix a bug that prevented preface or settings frames from being flushed, when an HTTP2 connection was established\n    with prior-knowledge\n  * Fix a bug where Netty fails to load a shaded native library\n  * Fix and relax overly strict HTTP/2 header validation check that was rejecting requests from Chrome and Firefox\n  * Fix OpenSSL and BoringSSL implementations to respect the `jdk.tls.client.protocols` and `jdk.tls.server.protocols`\n    system properties, making them react to these in the same way the JDK SSL provider does\n  * Fix inconsitencies in how `epoll`, `kqueue`, and `NIO` handle RDHUP\n  * For a more detailed list of changes please consult the official release notes:\n    +  Changes from 4.1.90: https://netty.io/news/2023/03/14/4-1-90-Final.html\n    +  Changes from 4.1.89: https://netty.io/news/2023/02/13/4-1-89-Final.html\n    +  Changes from 4.1.88: https://netty.io/news/2023/02/12/4-1-88-Final.html\n    +  Changes from 4.1.87: https://netty.io/news/2023/01/12/4-1-87-Final.html\n    +  Changes from 4.1.86: https://netty.io/news/2022/12/12/4-1-86-Final.html\n    +  Changes from 4.1.85: https://netty.io/news/2022/11/09/4-1-85-Final.html\n    +  Changes from 4.1.84: https://netty.io/news/2022/10/11/4-1-84-Final.html\n    +  Changes from 4.1.82: https://netty.io/news/2022/09/13/4-1-82-Final.html\n    +  Changes from 4.1.81: https://netty.io/news/2022/09/08/4-1-81-Final.html\n    +  Changes from 4.1.80: https://netty.io/news/2022/08/26/4-1-80-Final.html\n    +  Changes from 4.1.79: https://netty.io/news/2022/07/11/4-1-79-Final.html\n    +  Changes from 4.1.78: https://netty.io/news/2022/06/14/4-1-78-Final.html\n    +  Changes from 4.1.77: https://netty.io/news/2022/05/06/2-1-77-Final.html\n    +  Changes from 4.1.76: https://netty.io/news/2022/04/12/4-1-76-Final.html\n\nnetty-tcnative:\n    \n- New artifact named `netty-tcnative-classes`, provided by this update is required by netty 4.1.90 which contains \n  important security updates\n- No formal changelog present. This artifact is closely bound to the netty releases\n","status":"published","published":"2023-06-21T10:37:18Z","modified":"2026-02-04T02:29:06.168121Z","updated_at":"2026-11-02T15:53:52.350754Z"},{"id":"USN-6049-1","title":"netty vulnerabilities","description":"It was discovered that Netty's Zlib decoders did not limit memory\nallocations. A remote attacker could possibly use this issue to cause\nNetty to exhaust memory via malicious input, leading to a denial of\nservice. This issue only affected Ubuntu 16.04 ESM and Ubuntu 20.04 ESM.\n(CVE-2020-11612)\n\nIt was discovered that Netty created temporary files with excessive\npermissions. A local attacker could possibly use this issue to expose\nsensitive information. This issue only affected Ubuntu 16.04 ESM, Ubuntu\n18.04 ESM, and Ubuntu 20.04 ESM. (CVE-2021-21290)\n\nIt was discovered that Netty did not properly validate content-length\nheaders. A remote attacker could possibly use this issue to smuggle\nrequests. This issue was only fixed in Ubuntu 20.04 ESM. (CVE-2021-21295,\nCVE-2021-21409)\n\nIt was discovered that Netty's Bzip2 decompression decoder did not limit\nthe decompressed output data size. A remote attacker could possibly use\nthis issue to cause Netty to exhaust memory via malicious input, leading\nto a denial of service. This issue only affected Ubuntu 18.04 ESM, Ubuntu\n20.04 ESM, Ubuntu 22.04 LTS, and Ubuntu 22.10. (CVE-2021-37136)\n\nIt was discovered that Netty's Snappy frame decoder function did not limit\nchunk lengths. A remote attacker could possibly use this issue to cause\nNetty to exhaust memory via malicious input, leading to a denial of\nservice. (CVE-2021-37137)\n\nIt was discovered that Netty did not properly handle control chars at the\nbeginning and end of header names. A remote attacker could possibly use\nthis issue to smuggle requests. This issue only affected Ubuntu 18.04 ESM,\nUbuntu 20.04 ESM, Ubuntu 22.04 LTS, and Ubuntu 22.10. (CVE-2021-43797)\n\nIt was discovered that Netty could be made into an infinite recursion when\nparsing a malformed crafted message. A remote attacker could possibly use\nthis issue to cause Netty to crash, leading to a denial of service. This\nissue only affected Ubuntu 20.04 ESM, Ubuntu 22.04 LTS, and Ubuntu 22.10.\n(CVE-2022-41881)\n\nIt was discovered that Netty did not validate header values under certain\ncircumstances. A remote attacker could possibly use this issue to perform\nHTTP response splitting via malicious header values. This issue only\naffected Ubuntu 18.04 ESM, Ubuntu 20.04 ESM, Ubuntu 22.04 LTS, and Ubuntu\n22.10. (CVE-2022-41915)\n","status":"published","published":"2023-04-28T16:02:26Z","modified":"2026-06-25T13:32:01.552160649Z","updated_at":"2026-11-02T16:58:16.738762Z"}]}}
