Release date:
2026-04-29 07:10:05 UTC
Description:
* SECURITY UPDATE: denial of service via crafted WebSocket frame with
a 64-bit payload length whose most significant bit is set. The
extended payload length read in WsFrameBase.processRemainingHeader()
was assembled into a Java long without validation. With bit 63 set
the value became negative, which the consumer then used as a loop
bound, causing an infinite loop and exhausting CPU on the server
thread. Affects Apache Tomcat 7.0.0 to 7.0.104, 8.5.0 to 8.5.56,
9.0.0.M1 to 9.0.36, and 10.0.0-M1 to 10.0.0-M6.
- debian/patches/CVE-2020-13935.patch: validate the 64-bit payload
length in processRemainingHeader() and reject frames with a
negative value by throwing a WsIOException carrying a
PROTOCOL_ERROR close reason; add the wsFrame.payloadMsbInvalid
message to LocalStrings.properties. Also fold the companion fix
4c04982870 to apply the same validation to the legacy
org/apache/catalina/websocket/WsFrame parser (still packaged in
catalina.jar via WebSocketServlet), and the regression follow-up
34d19fbe24 in WsFrameBase.byteArrayToLong() (0xFF -> 0xFFL) that
prevents silent corruption of payload lengths >= 4 bytes from
int-shift promotion. Additionally fold b517002093 to apply the
same 0xFF -> 0xFFL fix to the parallel helper
Conversions.byteArrayToLong() in
java/org/apache/catalina/util/Conversions.java, which is the
helper used by the legacy WsFrame parser; without it the new
< 0 check in the legacy parser would falsely reject legitimate
large frames. Backport of upstream commits f9f75c14, 34d19fbe24,
4c04982870 and b517002093
(https://github.com/apache/tomcat/commit/f9f75c14
https://github.com/apache/tomcat/commit/34d19fbe24
https://github.com/apache/tomcat/commit/4c04982870
https://github.com/apache/tomcat/commit/b517002093)
- CVE-2020-13935
Updated packages:
-
libservlet3.0-java_7.0.68-1ubuntu0.4+tuxcare.els7_all.deb
sha:cf792afc3d404c1ce1c15b584f1f69e853db90a8
-
libservlet3.0-java-doc_7.0.68-1ubuntu0.4+tuxcare.els7_all.deb
sha:4127c3e7863a7c1f9c353d5ce2914edc2ad9aa55
-
libtomcat7-java_7.0.68-1ubuntu0.4+tuxcare.els7_all.deb
sha:d4b66233f4e9a563fe6f9a63ba2fb60ecaa20638
-
tomcat7_7.0.68-1ubuntu0.4+tuxcare.els7_all.deb
sha:4220898bb5a76a0fdd865d9aece441dc1280fe24
-
tomcat7-admin_7.0.68-1ubuntu0.4+tuxcare.els7_all.deb
sha:7ab9a60b873179668850d277f6226f3da655f14f
-
tomcat7-common_7.0.68-1ubuntu0.4+tuxcare.els7_all.deb
sha:8521e4100dbfc8f4aaedd7b4c40d2cc18bfdd17a
-
tomcat7-docs_7.0.68-1ubuntu0.4+tuxcare.els7_all.deb
sha:1cecfad0cdeb02c07aaf6633dd6c2acb1db313a4
-
tomcat7-examples_7.0.68-1ubuntu0.4+tuxcare.els7_all.deb
sha:c3233c9ee573f8d47d1c8cbb9e6fab3a388044e1
-
tomcat7-user_7.0.68-1ubuntu0.4+tuxcare.els7_all.deb
sha:27d2b4f8b89a4c842ccd7e7362217e567ec14ee5
Notes:
This page is generated automatically and has not been checked for errors. For clarification or
corrections please contact the
CloudLinux Packaging Team.