Improper resource allocation In org.eclipse.jetty:jetty-server
Description
Jetty vulnerable to incorrect handling of invalid large TLS frame, exhausting CPU resources
Impact
When using SSL/TLS with Jetty, either with HTTP/1.1, HTTP/2, or WebSocket, the server may receive an invalid large (greater than 17408) TLS frame that is incorrectly handled, causing CPU resources to eventually reach 100% usage.
Workarounds
The problem can be worked around by compiling the following class:
package org.eclipse.jetty.server.ssl.fix6072; import java.nio.ByteBuffer; import javax.net.ssl.SSLEngine; import javax.net.ssl.SSLEngineResult; import javax.net.ssl.SSLException; import javax.net.ssl.SSLHandshakeException; ...
This class can be deployed by:
The resulting class file should be put into a jar file (eg sslfix6072.jar)
The jar file should be made available to the server. For a normal distribution this can be done by putting the file into ${jetty.base}/lib
Copy the file ${jetty.home}/modules/ssl.mod to ${jetty.base}/modules
Edit the ${jetty.base}/modules/ssl.mod file to have the following section:
[lib] lib/sslfix6072.jar
Copy the file ${jetty.home}/etc/jetty-https.xml and${jetty.home}/etc/jetty-http2.xml to ${jetty.base}/etc
Edit files ${jetty.base}/etc/jetty-https.xml and ${jetty.base}/etc/jetty-http2.xml, changing any reference of org.eclipse.jetty.server.SslConnectionFactory to org.eclipse.jetty.server.ssl.fix6072.SpaceCheckingSslConnectionFactory. For example:
<Call name="addIfAbsentConnectionFactory"> <Arg> <New class="org.eclipse.jetty.server.ssl.fix6072.SpaceCheckingSslConnectionFactory"> <Arg name="next">http/1.1</Arg> <Arg name="sslContextFactory"><Ref refid="sslContextFactory"/></Arg> </New> </Arg> </Call>...
Restart Jetty
Mitigation
Update Impact
Minimal update. May introduce new vulnerabilities or breaking changes.
Ecosystem | Package | Affected version | Patched versions |
|---|---|---|---|
maven | 9.4.39, 10.0.2, 11.0.2 | ||
debian 13 | 9.4.39-1 | ||
debian 14 | 9.4.39-1 | ||
maven | 2.286 | ||
debian 11 | 9.4.39-1 | ||
debian 12 | 9.4.39-1 | ||
maven | 9.4.39.v20210325, 10.0.2, 11.0.2 | ||
maven | 9.4.39.v20210325, 10.0.2, 11.0.2 | ||
maven | 9.4.39.v20210325, 10.0.2, 11.0.2 | ||
maven | 9.4.39.v20210325, 10.0.2, 11.0.2 |
1-10 of 12
10
Aliases
References