CVE-2026-19671: Improper handling of highly compressed data (data amplification) in CISA Malcolm
Malcolm's upload-processing pipeline (scripts/safe-extract.py) enforces entry-count, nesting-depth, and total-uncompressed-byte limits when extracting container archives (zip/tar/rar/7z via libarchive), but those limits are not applied when the uploaded file is a single-stream compressed format (.gz, .bz2, .xz, .lzma, .lz) that isn't a .tar.-style archive. Any authenticated user permitted to upload PCAP/log files can upload a small, highly compressible file (e.g. a gzip bomb) that decompresses to an effectively unbounded size on disk, exhausting the shared Docker volume used by OpenSearch, Logstash, Arkime, and Zeek, and disrupting the platform for all users.
Affected Software
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Upgrade
Upgrade
CISA Malcolmto a version that resolves this vulnerability.Fixed in 26.08.0Patch GHSA-f2v6-8cj4-mhr6
Event History
Frequently Asked Questions
Which deployments are realistically exposed?
Deployments where authenticated users can upload PCAP or log files are exposed. A successful attack can fill the shared Docker volume used by OpenSearch, Logstash, Arkime, and Zeek, disrupting the platform for all users.
What does an attacker need to exploit this?
The attacker needs valid authentication and permission to upload PCAP or log files. No user interaction is required, and a small single-stream compressed file such as a gzip bomb can trigger the issue.
Which uploaded file types bypass the extraction limits?
The described extraction limits cover container archives such as zip, tar, rar, and 7z, but not single-stream formats including .gz, .bz2, .xz, .lzma, and .lz when they are not tar-style archives. Uploads of those formats are the relevant exposure path.
How can administrators tell whether they may already be affected?
Monitor available space on the shared Docker volume and investigate unexpectedly large decompressed upload output, particularly following uploads of standalone .gz, .bz2, .xz, .lzma, or .lz files. Disk exhaustion affecting OpenSearch, Logstash, Arkime, or Zeek is an operational indicator.