cbcvebase.
CVE-2020-13935
published 2020-09-09

CVE-2020-13935: A flaw was found in JBossWeb in versions before 7.5.31.Final-redhat-3. The fix for CVE-2020-13935 was incomplete in JBossWeb, leaving it vulnerable to a denial…

PriorityP268high7.5CVSS 3.1
AVNACLPRNUINSUCNINAH
EXPLOIT
EPSS
87.55%
99.7th percentile
A flaw was found in JBossWeb in versions before 7.5.31.Final-redhat-3. The fix for CVE-2020-13935 was incomplete in JBossWeb, leaving it vulnerable to a denial of service attack when sending multiple requests with invalid payload length in a WebSocket frame. The highest threat from this vulnerability is to system availability.

Affected

39 ranges· showing 25
VendorProductVersion rangeFixed in
apachetomcat
apachetomcat
apachetomcat
apachetomcat7.0.27 – 7.0.104
apachetomcat8.5.0 – 8.5.56
apachetomcat9.0.1 – 9.0.36
canonicalubuntu_linux
canonicalubuntu_linux
debiandebian_linux
debiandebian_linux
debiantomcat9< tomcat9 9.0.37-1 (bookworm)tomcat9 9.0.37-1 (bookworm)
mcafeeepolicy_orchestrator
mcafeeepolicy_orchestrator
mcafeeepolicy_orchestrator
netapponcommand_system_manager3.0.0 – 3.1.3
opensuseleap
opensuseleap
oracleagile_engineering_data_management
oracleagile_plm
oracleagile_plm
oracleagile_plm
oracleblockchain_platform< 21.1.221.1.2
oraclecommerce_guided_search
oraclecommunications_cloud_native_core_policy
oraclecommunications_instant_messaging_server

Detection & IOCsextracted from sources · hover to see the quote

path/examples/websocket/echo.xhtml
path/examples/websocket/echoProgrammatic
bytes
0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF (64-bit WebSocket payload length field with all bits set to 1)
bytes
WebSocket frame byte 2: 0xFF (mask bit set + payload length 127 indicator: 1<<7 | 0b1111111)
  • Exploit targets the WebSocket echo endpoint at /examples/websocket/echoProgrammatic via a raw WebSocket frame with the 64-bit extended payload length field set to 0xFFFFFFFFFFFFFFFF (all bits 1), which violates RFC 6455 (MSB must be 0) and triggers an infinite loop in Tomcat's WebSocket processor.
  • The exploit sends 3 concurrent goroutines each writing the malformed WebSocket frame; detection should look for multiple simultaneous WebSocket connections to /examples/websocket/echoProgrammatic that do not complete a clean close handshake.
  • A vulnerable Tomcat instance will NOT return the error string 'websocket: close 1002 (protocol error): An invalid WebSocket frame was received - the most significant bit of a 64-bit payload was illegally set'; absence of this error combined with an i/o timeout on the attacker side indicates successful DoS trigger.
  • Shodan query 'html:"Apache Tomcat"' can be used to identify potentially exposed Tomcat instances for asset inventory and patch verification.
  • Probe for the vulnerable echo page at /examples/websocket/echo.xhtml; a 200 response containing 'Apache Tomcat WebSocket Examples: Echo' confirms the WebSocket examples are exposed and the instance may be vulnerable.
  • ·Red Hat Certificate System 10.0 and RHEL 8 Identity Management bundle a vulnerable Tomcat version in pki-servlet-engine, but there is no WebSocket entry point in supported configurations, making exploitation impossible in those setups.
  • ·Red Hat OpenStack Platform 13 does not ship with WebSocket functionality enabled by default, reducing exposure.
  • ·JBossWeb received an incomplete fix for CVE-2020-13935 (tracked as CVE-2020-14384); versions before 7.5.31.Final-redhat-3 remain vulnerable despite the initial patch.

CVSS provenance

nvdv3.17.5HIGHCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
nvdv2.05.0MEDIUMAV:N/AC:L/Au:N/C:N/I:N/A:P
osv7.5HIGH
vendor_apache7.5HIGH
vendor_debian7.5HIGH
vendor_oracle7.5HIGH
vendor_redhat7.5HIGH
vendor_ubuntu7.5HIGH
CVEs like this are exactly what “Exploited This Week” covers.

Every Monday: what got weaponized or added to CISA KEV in the last seven days — each CVE cross-linked to its PoC, Nuclei template, and detection rule. Free, one email a week, unsubscribe in one click.