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
86.61%
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

78 ranges· showing 25
VendorProductVersion rangeFixed in
apachetomcat
apachetomcat
apachetomcat
apachetomcat
apachetomcat
apachetomcat
apachetomcat
apachetomcat
apachetomcat
apachetomcat
apachetomcat
apachetomcat
apachetomcat
apachetomcat
apachetomcat
apachetomcat
apachetomcat
apachetomcat
apachetomcat
apachetomcat
apachetomcat
apachetomcat
apachetomcat
apachetomcat
apachetomcat

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.