CVE-2026-33481 json
Syft improper temporary file cleanup
published 2026-03-20 7 mo ago modified 2026-09-10 1 mo ago also GHSA-rjcw-vg7j-m9rc , GO-2026-4809 , EUVD-2026-16279
- cvss
- 5.3
- version 3.1, CNA
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 0.4%
- EPSS 0.4% chance of exploitation in 30 days, percentile 36%
- public exploits
- 0
- none known
Summary
Syft is a a CLI tool and Go library for generating a Software Bill of Materials (SBOM) from container images and filesystems. Syft versions before v1.42.3 would not properly cleanup temporary storage if the temporary storage was exhausted during a scan. When scanning archives Syft will unpack those archives into temporary storage then inspect the unpacked contents. Under normal operation Syft will remove the temporary data it writes after completing a scan. This vulnerability would affect users of Syft that were scanning content that could cause Syft to fill the temporary storage that would then cause Syft to raise an error and exit. When the error is triggered Syft would exit without properly removing the temporary files in use. In our testing this was most easily reproduced by scanning very large artifacts or highly compressed artifacts such as a zipbomb. Because Syft would not clean up its temporary files, the result would be filling temporary file storage preventing future runs of Syft or other system utilities that rely on temporary storage being available. The patch has been released in v1.42.3. Syft now cleans up temporary files when an error condition is encountered. There are no workarounds for this vulnerability in Syft. Users that find their temporary storage depleted can manually remove the temporary files.
Patch / fix
- go github.com/anchore/syft 1.42.3
- anchore syft 1.42.3
- govulncheck-vulndb openSUSE Leap 15.6 0.0.20260326T203309-150000.1.155.2
suse advisories SUSE-SU-2026:1135-1
- govulncheck-vulndb openSUSE Leap 16.0 0.0.20260723T184607-160000.1.1
opensuse advisories openSUSE-SU-2026:21483-1
- github.com/anchore/stereoscope#537 pull request
- github.com/anchore/syft#4629 pull request
- github.com/anchore/syft#4668 pull request
- github.com/anchore/syft/security/advisories/GHSA-rjcw-vg7j-m9rc advisory
Vendor advisories
What the vendors themselves say about their products: affected, fixed or not affected, and what to do.
red hat product security vex CVE-2026-33481 updated cvss 5.9
github.com/anchore/syft: github.com/anchore/stereoscope: Syft: Denial of Service due to temporary file exhaustion from archive scanning
-
Red Hat All currently supported Red Hat productsnot affected: vulnerable code not present
Red Hat CSAF VEX © Red Hat, Inc., from https://security.access.redhat.com/data/csaf/v2/vex/; changed: reduced to product statuses and remediations. CC BY 4.0 · csaf
CISA SSVC
- Exploitation
- none
- Automatable
- yes
- Technical impact
- partial
- Assessed
- 7 mo ago
Exploit prediction
0.42% chance of exploitation in the next 30 days, higher than 36% of all scored CVEs (FIRST EPSS, 2026-11-08).
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CNA | 3.1 | 5.3 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L |
| GitHub | 3.1 | 5.3 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L |
Affected packages
| ecosystem | package | affected | fixed in |
|---|---|---|---|
| go | github.com/anchore/syft | <1.42.3 |
1.42.3 |
Affected products
- anchore syft
Classification
- Weakness
-
- CWE-460 Improper Cleanup on Thrown Exception
References
-
github.com
/anchore/stereoscope/pull/537
web, issue-tracking, patch
-
github.com
/anchore/syft/pull/4629
web, issue-tracking, patch
-
github.com
/anchore/syft/pull/4668
web, issue-tracking, patch
-
github.com
/anchore/syft/security/advisories/GHSA-rjcw-vg7j-m9rc
web, patch, vendor-advisory, advisory
-
nvd.nist.gov
/vuln/detail/CVE-2026-33481
advisory
-
github.com
/anchore/syft
package
Sources
- CVE List CVE-2026-33481
- GitHub Advisory GHSA-rjcw-vg7j-m9rc
- NVD CVE-2026-33481
- OSV GO-2026-4809
Fencer Vulns keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.