← Back to Feed CACHED · 2026-08-08 14:12:11 · CACHE_KEY CVE-2026-20337
CVE-2026-20337 · CWE-120 · Disclosed 2026-08-07

A vulnerability in the zip archive parser of ClamAV could

ASSESSED — NOISGATE V0.5
Vendor
Reassessed
Verdict:
Do you agree?
01 · The Real Story

Like a bouncer who passes out every time someone shows a weird ID — the line walks right in

CVE-2026-20337 is a heap out-of-bounds write in ClamAV's ZIP archive parser caused by incorrect catalogue capacity tracking when indexing local file headers. A crafted ZIP file submitted for scanning — via email attachment, file upload endpoint, or any path that feeds clamd — crashes the ClamAV process. Affected versions are ClamAV 1.5.0 through 1.5.3; the fix ships in 1.5.4 (released 2026-08-07). The bug also affects Cisco Secure Endpoint connectors for Windows (scored HIGH 7.5), Linux, and macOS (scored MEDIUM 5.3). PoC code is publicly available. The researcher is Kevin Stubbings of GitHub Security Lab.

Cisco's HIGH / 7.5 rating is directionally correct but slightly generous for most deployments. The CVSS vector (AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H) reflects unauthenticated network-reachable denial of service — no confidentiality or integrity impact, no code execution. That matters: crashing clamd is recoverable (the process restarts or the watchdog respawns it), and the blast radius is availability of the scanning function, not host compromise. However, ClamAV's role as a security-plane component on mail gateways means a crash can be weaponized as a two-stage attack: crash the scanner, then deliver the real payload unscanned. That security-degradation angle justifies staying at HIGH rather than dropping to MEDIUM.

"Crashable AV engine on the mail path lets attackers blind the scanner, then deliver malware unscanned."
02 · The Attack Path

4 steps from start to impact.

STEP 01

Craft malicious ZIP archive

Attacker builds a ZIP file with manipulated local file header counts that exceed the catalogue's allocated capacity. The PoC (publicly available) demonstrates the precise header layout needed to trigger the heap write. No special tooling beyond a hex editor or the published PoC script is required.
Conditions required:
  • Public PoC or understanding of ZIP format internals
Where this breaks in practice:
  • Trivial to reproduce — PoC is public
STEP 02

Deliver ZIP to a scanning path

The crafted ZIP is sent via email attachment (most common), uploaded to a web application backed by ClamAV scanning, or placed on a network share that ClamAV monitors. Any ingestion path that feeds the file to clamd or clamscan is viable. No authentication is required — the attacker is just a sender.
Conditions required:
  • Target environment uses ClamAV to scan inbound content
  • A delivery channel exists: email, HTTP upload, SMB share
Where this breaks in practice:
  • If ClamAV is not in the inbound mail/upload path, the file never reaches the parser
  • Environments using a different AV engine are unaffected
Detection/coverage: Email gateway logs will show the inbound message; WAF/proxy logs will show the upload. No specific signature for the crafted ZIP in most IDS rulesets yet.
STEP 03

ClamAV crashes (heap OOB write → SIGABRT/SIGSEGV)

When clamd parses the ZIP, the catalogue capacity tracking bug causes a write past the end of a heap buffer. In practice this results in a crash (process termination), not controlled code execution — Cisco scored C:N/I:N. The scanning function is unavailable until the process restarts.
Conditions required:
  • ClamAV version is 1.5.0–1.5.3
Where this breaks in practice:
  • Most clamd deployments use a watchdog (systemd, supervisord) that restarts the process within seconds
  • Crash window may be too brief for reliable exploitation unless attacker can sustain repeated crashes
Detection/coverage: Process monitoring / crash logs (journalctl -u clamav-daemon). Repeated clamd restarts are a strong signal.
STEP 04

(Optional) Deliver real payload while scanner is down

If the attacker can time a second message or upload during the restart window, the payload bypasses AV scanning. This is the 'blind the scanner' pattern used by sophisticated actors against mail gateways. Sustained crash-restart cycles widen the window.
Conditions required:
  • Attacker can send a follow-up payload timed to the crash window
  • No secondary scanning layer (cloud sandbox, second AV engine) is in place
Where this breaks in practice:
  • Dual-engine or cloud-sandbox architectures catch the second payload
  • Rate limiting on inbound mail reduces the timing window
  • Crash-restart cycle is typically <5 seconds on modern systems
Detection/coverage: Gap in scan logs correlating with inbound mail volume is detectable by SIEM correlation rules.
03 · Intelligence Metadata

The supporting signals.

In-the-wild exploitationNone observed. Not listed in CISA KEV. No known campaigns. Cisco PSIRT states no malicious exploitation detected as of disclosure.
Proof-of-conceptPublicly available. Cisco advisory confirms PoC code exists. Researcher: Kevin Stubbings, GitHub Security Lab.
EPSS scoreNot yet scored (disclosed 2026-08-07, <24 hours old). Expect low-to-moderate EPSS given DoS-only impact and no wild exploitation.
KEV statusNot listed. No CISA KEV entry as of 2026-08-08.
CVSS vectorCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H — unauthenticated remote DoS, no confidentiality or integrity impact. Network-reachable with no user interaction.
Affected versionsClamAV 1.5.0 through 1.5.3. Also affects Cisco Secure Endpoint connectors (Windows, Linux, macOS) shipping bundled ClamAV.
Fixed versionClamAV 1.5.4 (released 2026-08-07). Cisco Secure Endpoint connector updates TBD (Aug 2026) via Cisco Secure Endpoint portal.
Scanning / exposure dataClamAV is embedded in thousands of mail gateways (Amavis, MailScanner, rspamd integrations) and Cisco Secure Endpoint deployments. Not directly Shodan-enumerable since clamd listens on localhost:3310 by default, but the attack surface is the *mail/upload path*, not the daemon port.
Disclosure date2026-08-07 (Cisco advisory and ClamAV 1.5.4 release).
ReporterKevin Stubbings, GitHub Security Lab. Coordinated disclosure through Cisco PSIRT.
04 · The Call

noisgate verdict.

Final Verdict
= UNCHANGED to HIGH (7.0/10)

The single most decisive factor is ClamAV's security-plane role on mail gateways: crashing the scanner enables a blind-the-AV attack pattern that degrades the organization's detection capability for follow-on payloads. This security-agent role floor keeps the verdict at HIGH despite the DoS-only impact and absence of code execution.

HIGH Vulnerability existence and affected version range
HIGH Impact limited to denial of service (no RCE)
MEDIUM Real-world exploitability of the blind-the-scanner two-stage pattern

Why this verdict

  • DoS-only impact caps severity below CRITICAL. The CVSS vector explicitly scores C:N/I:N — there is no path to code execution, data exfiltration, or integrity compromise from this bug alone. A crash is recoverable.
  • Role multiplier: ClamAV is a security-plane component. On mail gateways (Amavis, MailScanner, rspamd) and Cisco Secure Endpoint hosts, ClamAV is the AV scanning engine. Crashing it degrades the organization's malware detection. On mail gateways specifically (a high-value role representing a large share of ClamAV deployments), a sustained crash opens a window to deliver unscanned malware — blast radius extends from 'scanner availability' to 'security posture of all protected hosts'. This floors the verdict at HIGH.
  • PoC is public, attack is trivial, no auth required. The attack requires only sending an email or uploading a file — the lowest friction delivery mechanism in enterprise environments. This prevents any downgrade below HIGH.
  • Watchdog restart limits the window. Most production clamd deployments auto-restart within seconds via systemd or equivalent, narrowing the blind window. This friction prevents an upgrade to CRITICAL despite the security-agent role.

Why not higher?

The impact is strictly availability — no confidentiality or integrity loss, no code execution, no privilege escalation. ClamAV crashes are recoverable, and the blind-the-scanner window is narrow on well-configured systems with watchdog restarts. Dual-engine or cloud-sandbox mail architectures further reduce the blast radius. Without RCE, the security-agent role alone does not justify CRITICAL.

Why not lower?

ClamAV processes untrusted input from the network with zero authentication and zero user interaction — the most favorable attacker economics possible. The PoC is public. The security-agent role means DoS here is not just 'service unavailable' but 'detection capability degraded', which has downstream impact on the entire mail flow. Dropping to MEDIUM would ignore the security-plane blast radius.

05 · Compensating Control

What to do — in priority order.

  1. Enable clamd watchdog restart with aggressive respawn — Ensure clamd runs under systemd with Restart=always and RestartSec=1 (or equivalent supervisor). This shrinks the blind window to ~1-2 seconds per crash. Deploy within the noisgate mitigation SLA of 30 days, though this should already be in place on production systems.
  2. Deploy dual-engine or cloud-sandbox scanning on the mail path — Run a second AV engine (e.g., Sophos, ESET) or cloud sandbox (e.g., Cisco Secure Malware Analytics, Palo Wildfire) in the mail pipeline so a ClamAV crash does not leave inbound mail completely unscanned. This is the strongest compensating control against the blind-the-scanner pattern.
  3. Rate-limit inbound email from single senders — Throttle messages per sender to make sustained crash-restart cycling impractical. Most MTAs (Postfix smtpd_client_message_rate_limit, Exchange throttling policies) support this natively.
  4. Monitor clamd crash/restart frequency via SIEM — Alert on repeated clamd process restarts (>2 in 5 minutes). Correlate with inbound mail volume gaps. This turns the attack into a detectable event. Deploy within 30 days per noisgate mitigation SLA.
What doesn't work
  • Network firewalling ClamAV's listening port (3310) — the attack vector is not direct connection to clamd; it is delivering a crafted file through the normal mail/upload pipeline. Blocking port 3310 externally is good hygiene but does not mitigate this CVE.
  • Signature-based IDS rules for the crafted ZIP — the malicious ZIP structure is a valid ZIP with unusual header counts; writing a reliable signature without false positives on legitimate large ZIPs is impractical.
06 · Verification

Crowdsourced verification payload.

Run on each host running ClamAV (mail gateway, file scanner, endpoint). Execute as any user with read access to clamd or clamscan. Example: bash check_cve_2026_20337.sh

noisgate-verify.sh
BASHREAD-ONLYSAFE
#!/usr/bin/env bash
# CVE-2026-20337 checker — ClamAV ZIP heap OOB write
# Affected: 1.5.0 – 1.5.3 | Fixed: 1.5.4+
set -euo pipefail

get_version() {
  local bin
  for bin in clamscan clamd; do
    if command -v "$bin" &>/dev/null; then
      "$bin" --version 2>/dev/null | grep -oP '\d+\.\d+\.\d+' | head -1
      return
    fi
  done
  echo ""
}

VER=$(get_version)
if [[ -z "$VER" ]]; then
  echo "UNKNOWN — ClamAV not found on this host."
  exit 2
fi

MAJOR=$(echo "$VER" | cut -d. -f1)
MINOR=$(echo "$VER" | cut -d. -f2)
PATCH=$(echo "$VER" | cut -d. -f3)

echo "Detected ClamAV version: $VER"

# Affected: 1.5.0 – 1.5.3
if [[ "$MAJOR" -eq 1 && "$MINOR" -eq 5 && "$PATCH" -le 3 ]]; then
  echo "VULNERABLE — ClamAV $VER is in the affected range (1.5.0–1.5.3). Update to 1.5.4+."
  exit 1
elif [[ "$MAJOR" -eq 1 && "$MINOR" -eq 5 && "$PATCH" -ge 4 ]]; then
  echo "PATCHED — ClamAV $VER includes the fix."
  exit 0
elif [[ "$MAJOR" -gt 1 || ("$MAJOR" -eq 1 && "$MINOR" -gt 5) ]]; then
  echo "PATCHED — ClamAV $VER is newer than the affected range."
  exit 0
else
  echo "PATCHED — ClamAV $VER predates the affected 1.5.x branch."
  exit 0
fi
07 · Bottom Line

If you remember one thing.

TL;DR
Patch ClamAV to 1.5.4 on all mail gateways and scanning hosts. This is a HIGH-severity, DoS-only bug with public PoC but no active exploitation. Per the noisgate mitigation SLA for HIGH, deploy compensating controls (watchdog restart hardening, dual-engine scanning, crash-rate alerting) within 30 days. Per the noisgate remediation SLA, apply the vendor patch (ClamAV 1.5.4 or Cisco Secure Endpoint connector update when released) within 180 days. Prioritize mail gateways and any host where ClamAV is the sole scanning engine — those are the highest-blast-radius targets. If you run Cisco Secure Endpoint, monitor the Cisco advisory (cisco-sa-clamav-WuuvVd26) for connector update availability and deploy via policy as soon as it lands.

Sources

  1. Cisco Security Advisory — ClamAV August 2026
  2. ClamAV 1.5.4 Release Notes (GitHub)
  3. Linuxiac — ClamAV 1.5.4 Fixes Eight Vulnerabilities
  4. MalwareTips Forum — ClamAV 1.5.4 Discussion
  5. ClamAV Official Blog
  6. CERT/CC — ZIP Archive Scanning Advisory (context)
Peer Review

What defenders are saying.

Submit a review attribution: handle + country only
0 flags selected · stored anonymously
Validation Results

Crowdsourced verification outputs.

Results submitted by users who ran the verification payload against their environment.