CVE-2026-33481 Overview
CVE-2026-33481 is a Resource Exhaustion vulnerability affecting Syft, a CLI tool and Go library for generating Software Bill of Materials (SBOM) from container images and filesystems. Versions of Syft prior to v1.42.3 fail to properly cleanup temporary storage when the temporary storage becomes exhausted during a scan operation.
When scanning archives, Syft unpacks those archives into temporary storage and then inspects the unpacked contents. Under normal operation, Syft removes the temporary data it writes after completing a scan. However, when scanning content causes Syft to fill the temporary storage, an error is raised and Syft exits without properly removing the temporary files in use.
Critical Impact
Syft fails to clean up temporary files when an error condition is encountered, potentially filling temporary file storage and preventing future runs of Syft or other system utilities that rely on temporary storage being available.
Affected Products
- Syft versions prior to v1.42.3
- Systems utilizing Syft for SBOM generation from container images
- Environments scanning large or highly compressed artifacts (e.g., zipbombs)
Discovery Timeline
- 2026-03-26 - CVE CVE-2026-33481 published to NVD
- 2026-03-26 - Last updated in NVD database
Technical Details for CVE-2026-33481
Vulnerability Analysis
This vulnerability falls under CWE-460 (Improper Cleanup on Thrown Exception), which describes a flaw where a product fails to properly clean up or release resources when an exception or error condition is raised. In the context of Syft, this manifests when scanning operations encounter storage exhaustion errors.
The issue is most easily triggered by scanning very large artifacts or highly compressed artifacts such as zipbombs. These types of files can rapidly consume available temporary storage during the unpacking phase of Syft's scanning process. When the temporary storage limit is reached and an error is raised, the application exits without executing its normal cleanup routines.
The network-based attack vector indicates that this vulnerability could be triggered remotely if an attacker can influence which files are scanned by a Syft instance, such as in automated CI/CD pipelines that process user-submitted container images or archives.
Root Cause
The root cause of this vulnerability is improper exception handling in Syft's file processing logic. When temporary storage is exhausted during archive extraction, the error handling path fails to invoke the cleanup routines that would normally remove temporary files. This is a classic example of CWE-460 where resource cleanup code is bypassed when exceptions occur.
The temporary file handling did not properly account for error conditions that could interrupt the normal scanning workflow, leaving orphaned files in the temporary storage directory.
Attack Vector
An attacker could exploit this vulnerability by crafting or submitting malicious archives designed to exhaust temporary storage. The most effective attack vectors include:
Zipbombs or similar highly compressed archives that expand to enormous sizes when extracted can quickly fill temporary storage. An attacker who can influence the input files processed by Syft—such as through a CI/CD pipeline that automatically scans submitted container images—could repeatedly trigger this condition.
The consequence is a denial of service condition where the system's temporary storage becomes full, preventing Syft from running subsequent scans and potentially affecting other system utilities that depend on temporary storage availability.
For technical details on the vulnerability and its remediation, see the GitHub Security Advisory GHSA-rjcw-vg7j-m9rc and the associated pull requests: Syft PR #4629, Syft PR #4668, and Stereoscope PR #537.
Detection Methods for CVE-2026-33481
Indicators of Compromise
- Unexpected accumulation of files in temporary storage directories (e.g., /tmp on Linux systems)
- Syft processes terminating with storage exhaustion errors
- Gradual decrease in available temporary storage space over time
- Failed Syft scans accompanied by orphaned temporary directories
Detection Strategies
- Monitor temporary storage utilization and alert on unusual consumption patterns
- Implement logging for Syft process exits, specifically tracking error codes related to storage exhaustion
- Configure file system monitoring to detect rapid growth in temporary directories during Syft operations
- Review CI/CD pipeline logs for repeated Syft failures that may indicate exploitation attempts
Monitoring Recommendations
- Set up disk space alerts for partitions containing temporary storage directories
- Implement automated cleanup scripts that periodically remove stale Syft temporary files
- Monitor for unusually large or suspicious archive files being submitted for scanning
- Track Syft version deployments across the environment to identify vulnerable instances
How to Mitigate CVE-2026-33481
Immediate Actions Required
- Upgrade Syft to version v1.42.3 or later immediately
- Review temporary storage directories and manually remove any orphaned Syft temporary files
- Implement input validation to limit the size of archives processed by Syft
- Consider mounting temporary storage on dedicated partitions to prevent system-wide impact
Patch Information
The vulnerability has been patched in Syft version v1.42.3. The fix ensures that Syft properly cleans up temporary files when an error condition is encountered, including storage exhaustion scenarios. Users should upgrade to this version or later to receive the security fix.
The patch was implemented across multiple pull requests:
Workarounds
- There are no workarounds available within Syft itself for this vulnerability
- Users whose temporary storage has been depleted can manually remove orphaned temporary files
- Consider implementing external monitoring and automated cleanup as a temporary measure
- Limit input file sizes at the infrastructure level before files reach Syft for processing
# Manual cleanup of orphaned Syft temporary files
# Identify Syft temporary directories
find /tmp -name "syft*" -type d -mtime +1
# Remove identified orphaned directories (review before executing)
find /tmp -name "syft*" -type d -mtime +1 -exec rm -rf {} \;
# Monitor temporary storage usage
df -h /tmp
Disclaimer: This content was generated using AI. While we strive for accuracy, please verify critical information with official sources.


