Netty is an open-source, asynchronous event-driven network application framework for rapid development of maintainable high performance protocol servers & clients. In Netty (io.netty:netty-codec-http2) before version 4.1.60.Final there is a vulnerability that enables request smuggling. If a Content-Length header is present in the original HTTP/2 request, the field is not validated by `Http2MultiplexHandler` as it is propagated up. This is fine as long as the request is not proxied through as HTTP/1.1. If the request comes in as an HTTP/2 stream, gets converted into the HTTP/1.1 domain objects (`HttpRequest`, `HttpContent`, etc.) via `Http2StreamFrameToHttpObjectCodec `and then sent up to the child channel's pipeline and proxied through a remote peer as HTTP/1.1 this may result in request smuggling. In a proxy case, users may assume the content-length is validated somehow, which is not the case. If the request is forwarded to a backend channel that is a HTTP/1.1 connection, the Content-Length now has meaning and needs to be checked. An attacker can smuggle requests inside the body as it gets downgraded from HTTP/2 to HTTP/1.1. For an example attack refer to the linked GitHub Advisory. Users are only affected if all of this is true: `HTTP2MultiplexCodec` or `Http2FrameCodec` is used, `Http2StreamFrameToHttpObjectCodec` is used to convert to HTTP/1.1 objects, and these HTTP/1.1 objects are forwarded to another remote peer. This has been patched in 4.1.60.Final As a workaround, the user can do the validation by themselves by implementing a custom `ChannelInboundHandler` that is put in the `ChannelPipeline` behind `Http2StreamFrameToHttpObjectCodec`.
| Product | Vendor Advisory | Solution File | Added | Published |
|---|---|---|---|---|
| Centos_linux | — | Upgrade foreman-cliUpgrade rubygem-hammer_cli_foreman_bootdiskUpgrade rubygem-hammer_cli_foreman_virt_who_configureUpgrade rubygem-hammer_cli_foreman_ansibleUpgrade tfm-rubygem-netrcUpgrade rubygem-powerbarUpgrade tfm-rubygem-hammer_cli_foreman_virt_who_configureUpgrade tfm-rubygem-unf_ext-debuginfoUpgrade tfm-rubygem-hashieUpgrade rubygem-clampUpgrade tfm-rubygem-highlineUpgrade rubygem-hammer_cli_foreman_adminUpgrade rubygem-unf_ext-debuginfoUpgrade tfm-rubygem-hammer_cli_foreman_adminUpgrade tfm-rubygem-hammer_cli_foreman_templatesUpgrade rubygem-oauthUpgrade satellite-maintainUpgrade satellite-cliUpgrade tfm-rubygem-unicodeUpgrade rubygem-http-cookieUpgrade rubygem-unf_extUpgrade rubygem-hashieUpgrade tfm-rubygem-localeUpgrade rubygem-unicode-display_widthUpgrade tfm-rubygem-hammer_cliUpgrade tfm-rubygem-http-cookieUpgrade tfm-runtimeUpgrade tfm-rubygem-amazing_printUpgrade rubygem-hammer_cli_foremanUpgrade tfm-rubygem-oauthUpgrade tfm-rubygem-mime-typesUpgrade rubygem-highlineUpgrade rubygem-unf_ext-debugsourceUpgrade tfm-rubygem-hammer_cli_foreman_remote_executionUpgrade tfm-rubygem-rest-clientUpgrade rubygem-mime-types-dataUpgrade rubygem-hammer_cli_foreman_tasksUpgrade tfm-rubygem-unfUpgrade tfm-rubygem-unicode-debuginfoUpgrade rubygem-foreman_maintainUpgrade rubygem-hammer_cli_foreman_azure_rmUpgrade rubygem-domain_nameUpgrade rubygem-unfUpgrade rubygem-netrcUpgrade tfm-rubygem-hammer_cli_foreman_azure_rmUpgrade rubygem-rest-clientUpgrade tfm-rubygem-hammer_cli_foreman_tasksUpgrade tfm-rubygem-hammer_cli_katelloUpgrade tfm-rubygem-multi_jsonUpgrade rubygem-multi_jsonUpgrade rubygem-loggingUpgrade rubygem-localeUpgrade tfm-rubygem-fast_gettextUpgrade rubygem-unicode-debuginfoUpgrade rubygem-unicodeUpgrade rubygem-little-pluggerUpgrade rubygem-fast_gettextUpgrade rubygem-unicode-debugsourceUpgrade tfm-rubygem-loggingUpgrade tfm-rubygem-little-pluggerUpgrade rubygem-hammer_cli_katelloUpgrade rubygem-jwtUpgrade rubygem-hammer_cli_foreman_webhooksUpgrade rubygem-hammer_cli_foreman_templatesUpgrade rubygem-hammer_cli_foreman_remote_executionUpgrade rubygem-apipie-bindingsUpgrade tfm-rubygem-apipie-bindingsUpgrade tfm-rubygem-hammer_cli_foreman_discoveryUpgrade tfm-rubygem-hammer_cli_foreman_ansibleUpgrade tfm-rubygem-hammer_cli_foremanUpgrade rubygem-mime-typesUpgrade tfm-rubygem-unicode-display_widthUpgrade tfm-rubygem-hammer_cli_foreman_webhooksUpgrade rubygem-hammer_cli_foreman_discoveryUpgrade tfm-rubygem-clampUpgrade tfm-rubygem-unf_extUpgrade tfm-rubygem-powerbarUpgrade tfm-rubygem-jwtUpgrade rubygem-amazing_printUpgrade satellite-cloneUpgrade rubygem-hammer_cli_foreman_openscapUpgrade rubygem-hammer_cliUpgrade tfm-rubygem-hammer_cli_foreman_openscapUpgrade tfm-rubygem-mime-types-dataUpgrade tfm-rubygem-domain_nameUpgrade tfm-rubygem-hammer_cli_foreman_bootdisk | Jul 14, 2022 | Mar 9, 2021 |
| Debian | — | Upgrade netty | Apr 7, 2021 | Mar 9, 2021 |
| Red Hat Jboss Eap | — | Upgrade Red Hat JBoss EAP to the latest version | Sep 19, 2024 | Mar 9, 2021 |
| Red_hat Jboss_eap | — | — | Apr 10, 2023 | Mar 9, 2021 |
| Redhat_linux | — | Upgrade rubygem-hammer_cli_foreman_discoveryUpgrade rubygem-netrcUpgrade tfm-rubygem-unicode-display_widthUpgrade rubygem-hammer_cli_foreman_azure_rmUpgrade rubygem-oauthUpgrade rubygem-clampUpgrade rubygem-hammer_cli_foreman_templatesUpgrade tfm-rubygem-unicode-debuginfoUpgrade rubygem-fast_gettextUpgrade tfm-rubygem-highlineUpgrade tfm-rubygem-hammer_cli_foreman_discoveryUpgrade foreman-cliUpgrade rubygem-powerbarUpgrade rubygem-unf_ext-debuginfoUpgrade tfm-rubygem-amazing_printUpgrade tfm-rubygem-hammer_cli_foreman_remote_executionUpgrade tfm-rubygem-hammer_cli_foreman_virt_who_configureUpgrade tfm-rubygem-hammer_cli_foreman_azure_rmUpgrade tfm-rubygem-hammer_cli_foreman_templatesUpgrade rubygem-hashieUpgrade tfm-rubygem-hammer_cli_katelloUpgrade rubygem-hammer_cli_foreman_ansibleUpgrade tfm-rubygem-hammer_cli_foreman_tasksUpgrade tfm-rubygem-hammer_cli_foreman_adminUpgrade rubygem-hammer_cli_foremanUpgrade rubygem-highlineUpgrade rubygem-hammer_cli_foreman_adminUpgrade rubygem-unf_extUpgrade tfm-rubygem-mime-types-dataUpgrade tfm-rubygem-unf_ext-debuginfoUpgrade tfm-rubygem-rest-clientUpgrade tfm-rubygem-netrcUpgrade tfm-rubygem-mime-typesUpgrade rubygem-hammer_cli_foreman_bootdiskUpgrade rubygem-hammer_cliUpgrade rubygem-rest-clientUpgrade tfm-rubygem-hashieUpgrade rubygem-unicode-display_widthUpgrade tfm-rubygem-unicodeUpgrade rubygem-http-cookieUpgrade rubygem-hammer_cli_foreman_tasksUpgrade rubygem-localeUpgrade satellite-maintainUpgrade tfm-rubygem-http-cookieUpgrade rubygem-foreman_maintainUpgrade tfm-rubygem-fast_gettextUpgrade rubygem-unicodeUpgrade tfm-rubygem-localeUpgrade tfm-rubygem-hammer_cli_foreman_ansibleUpgrade rubygem-amazing_printUpgrade tfm-rubygem-domain_nameUpgrade tfm-rubygem-unf_extUpgrade tfm-rubygem-hammer_cli_foremanUpgrade tfm-rubygem-hammer_cli_foreman_webhooksUpgrade tfm-rubygem-multi_jsonUpgrade rubygem-mime-typesUpgrade rubygem-domain_nameUpgrade satellite-cliUpgrade tfm-rubygem-powerbarUpgrade rubygem-unf_ext-debugsourceUpgrade rubygem-unfUpgrade rubygem-little-pluggerUpgrade rubygem-mime-types-dataUpgrade tfm-rubygem-hammer_cli_foreman_bootdiskUpgrade rubygem-hammer_cli_katelloUpgrade tfm-rubygem-clampUpgrade tfm-rubygem-apipie-bindingsUpgrade rubygem-hammer_cli_foreman_virt_who_configureUpgrade tfm-rubygem-loggingUpgrade rubygem-unicode-debuginfoUpgrade tfm-rubygem-jwtUpgrade rubygem-multi_jsonUpgrade tfm-rubygem-little-pluggerUpgrade tfm-rubygem-hammer_cli_foreman_openscapUpgrade satellite-cloneUpgrade rubygem-hammer_cli_foreman_openscapUpgrade rubygem-hammer_cli_foreman_webhooksUpgrade rubygem-jwtUpgrade tfm-rubygem-oauthUpgrade rubygem-unicode-debugsourceUpgrade tfm-rubygem-hammer_cliUpgrade rubygem-hammer_cli_foreman_remote_executionUpgrade tfm-rubygem-unfUpgrade tfm-runtimeUpgrade rubygem-apipie-bindingsUpgrade rubygem-logging | Jul 14, 2022 | Mar 9, 2021 |
| Rocky_linux | — | Upgrade libdb-sql-debuginfoUpgrade libdb-cxx-debuginfoUpgrade libdb-cxxUpgrade libdb-debuginfoUpgrade libdb-sql-devel-debuginfoUpgrade libdb-utils-debuginfoUpgrade libdb-debugsource | Mar 12, 2024 | Mar 9, 2021 |
| Suse | — | Upgrade netty-javadocUpgrade netty-pomsUpgrade netty | Mar 20, 2021 | Mar 9, 2021 |
| Ubuntu | — | Upgrade libnetty-javaUpgrade libnetty-java (Ubuntu Pro) | May 1, 2023 | Mar 9, 2021 |
With curated Threat Intelligence, you can see which vulnerabilities truly put you at risk, prioritize what matters most, and act before attackers do.
Explore Intelligence Hub