Skip to main content
← All vulnerabilities
CVE-2023-36478GHSA-WGH7-54F2-X98RBIT-JENKINS-2023-36478

HTTP/2 HPACK integer overflow and buffer allocation

Published
Last modified
published
Not listed in CISA KEV
Fix
Fixed in 10.0.16, 11.0.16, 9.4.53
None on Exploit-DB, Metasploit or GitHub

Summary

Eclipse Jetty provides a web server and servlet container. In versions 11.0.0 through 11.0.15, 10.0.0 through 10.0.15, and 9.0.0 through 9.4.52, an integer overflow in `MetaDataBuilder.checkSize` allows for HTTP/2 HPACK header values to exceed their size limit. `MetaDataBuilder.java` determines if a header name or value exceeds the size limit, and throws an exception if the limit is exceeded. However, when length is very large and huffman is true, the multiplication by 4 in line 295 will overflow, and length will become negative. `(_size+length)` will now be negative, and the check on line 296 will not be triggered. Furthermore, `MetaDataBuilder.checkSize` allows for user-entered HPACK header value sizes to be negative, potentially leading to a very large buffer allocation later on when the user-entered size is multiplied by 2. This means that if a user provides a negative length value (or, more precisely, a length value which, when multiplied by the 4/3 fudge factor, is negative), and this length value is a very large positive number when multiplied by 2, then the user can cause a very large buffer to be allocated on the server. Users of HTTP/2 can be impacted by a remote denial of service attack. The issue has been fixed in versions 11.0.16, 10.0.16, and 9.4.53. There are no known workarounds.

Timeline

  1. CVE published
  2. Record last updated

Affected versions

  • eclipse jetty.project

    From 10.0.0 · fixed in 10.0.16; From 11.0.0 · fixed in 11.0.16; From 9.3.0 · fixed in 9.4.53

  • org.eclipse.jetty.http2:http2-hpackMaven

    From 10.0.0 · fixed in 10.0.16

  • org.eclipse.jetty.http2:http2-hpackMaven

    From 11.0.0 · fixed in 11.0.16

  • org.eclipse.jetty.http3:http3-qpackMaven

    From 10.0.0 · fixed in 10.0.16

  • org.eclipse.jetty.http3:http3-qpackMaven

    From 11.0.0 · fixed in 11.0.16

  • org.eclipse.jetty.http2:http2-hpackMaven

    From 9.3.0 · fixed in 9.4.53

References 10

GitHub · eclipse/jetty.project

openwall.com

lists.debian.org

debian.org

security.netapp.com