cbcvebase.
CVE-2020-9490
published 2020-08-07

CVE-2020-9490: Apache HTTP Server versions 2.4.20 to 2.4.43. A specially crafted value for the 'Cache-Digest' header in a HTTP/2 request would result in a crash when the…

PriorityP261high7.5CVSS 3.1
AVNACLPRNUINSUCNINAH
EPSS
89.74%
99.8th percentile
Apache HTTP Server versions 2.4.20 to 2.4.43. A specially crafted value for the 'Cache-Digest' header in a HTTP/2 request would result in a crash when the server actually tries to HTTP/2 PUSH a resource afterwards. Configuring the HTTP/2 feature via "H2Push off" will mitigate this vulnerability for unpatched servers.

Affected

52 ranges· showing 25
VendorProductVersion rangeFixed in
apachehttp_server>= 2.4.20 < 2.4.462.4.46
canonicalubuntu_linux
canonicalubuntu_linux
canonicalubuntu_linux
debianapache2< apache2 2.4.46-1 (bookworm)apache2 2.4.46-1 (bookworm)
debiandebian_linux
fedoraprojectfedora
fedoraprojectfedora
msrccm1_httpd_2.4.46-5_on_cbl_mariner_1.0
opensuseleap
opensuseleap
oraclecommunications_element_manager8.2.0 – 8.2.2
oraclecommunications_session_report_manager8.2.0 – 8.2.2
oraclecommunications_session_route_manager8.2.0 – 8.2.2
oracleenterprise_manager_ops_center
oraclehyperion_infrastructure_technology
oracleinstantis_enterprisetrack
oracleinstantis_enterprisetrack
oracleinstantis_enterprisetrack
oraclezfs_storage_appliance_kit
redhatenterprise_linux
redhatenterprise_linux_eus
redhatenterprise_linux_eus
redhatenterprise_linux_eus
redhatenterprise_linux_eus

Detection & IOCsextracted from sources · hover to see the quote

otherCache-Digest header value matching pcre: /^(?:8=|9BQQ==)\r?\n?/R
snort
alert http any any -> [$HTTP_SERVERS,$HOME_NET] any (msg:"ET EXPLOIT Apache2 Memory Corruption Inbound (CVE-2020-9490)"; flow:established,to_server; http.method; content:"GET"; http.header; header_lowercase; content:"cache-digest|3a 20|EA"; fast_pattern; pcre:"/^(?:8=|9BQQ==)\r?\n?/R"; reference:url,bugs.chromium.org/p/project-zero/issues/detail?id=2030&q=apache&can=1; reference:cve,2020-9490; classtype:attempted-admin; sid:2030830; rev:2; metadata:created_at 2020_09_03, cve CVE_2020_9490, deployment Perimeter, deployment SSLDecrypt, confidence Medium, signature_severity Major, tag Description_Generated_By_Proofpoint_Nexus, updated_at 2024_04_21;)
bytes
cache-digest|3a 20|EA
  • Look for HTTP/2 GET requests containing a specially crafted 'Cache-Digest' header; the ET rule triggers on the header value starting with bytes EA (hex), matching base64 patterns '8=' or '9BQQ=='
  • The exploit requires HTTP/2 to be enabled with H2Push active; servers with 'H2Push off' are not exploitable — presence of HTTP/2 PUSH capability is a prerequisite for the crash
  • The crash is triggered by a negative argument passed to memmove(); monitor for Apache httpd process crashes (SIGSEGV/abort) on servers running versions 2.4.20–2.4.43 with HTTP/2 enabled
  • ·Vulnerability only affects Apache HTTP Server versions 2.4.20 to 2.4.43; versions outside this range are not affected
  • ·The ET Snort rule (sid:2030830) is marked for 'SSLDecrypt' deployment, meaning it will NOT fire on TLS-encrypted HTTP/2 traffic unless SSL inspection is in place
  • ·The crash only occurs when the server actually attempts an HTTP/2 PUSH after receiving the malicious Cache-Digest header; if H2Push is disabled, the vulnerable code path is never reached

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
osv9.8CRITICAL
vendor_ubuntu9.8CRITICAL
vendor_debian7.5HIGH
vendor_msrc7.5HIGH
vendor_redhat7.5HIGH
Stop checking back — get the weekly exploitation signal.

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.