CVE-2026-33481 (GCVE-0-2026-33481)
Vulnerability from cvelistv5 – Published: 2026-03-26 17:10 – Updated: 2026-03-27 14:42
VLAI?
Title
Syft improper temporary file cleanup
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.
Severity ?
5.3 (Medium)
CWE
- CWE-460 - Improper Cleanup on Thrown Exception
Assigner
References
| URL | Tags | |||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
||||||||||||||
{
"containers": {
"adp": [
{
"metrics": [
{
"other": {
"content": {
"id": "CVE-2026-33481",
"options": [
{
"Exploitation": "none"
},
{
"Automatable": "yes"
},
{
"Technical Impact": "partial"
}
],
"role": "CISA Coordinator",
"timestamp": "2026-03-27T14:41:55.414173Z",
"version": "2.0.3"
},
"type": "ssvc"
}
}
],
"providerMetadata": {
"dateUpdated": "2026-03-27T14:42:05.318Z",
"orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
"shortName": "CISA-ADP"
},
"title": "CISA ADP Vulnrichment"
}
],
"cna": {
"affected": [
{
"product": "syft",
"vendor": "anchore",
"versions": [
{
"status": "affected",
"version": "\u003c 1.42.3"
}
]
}
],
"descriptions": [
{
"lang": "en",
"value": "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."
}
],
"metrics": [
{
"cvssV3_1": {
"attackComplexity": "LOW",
"attackVector": "NETWORK",
"availabilityImpact": "LOW",
"baseScore": 5.3,
"baseSeverity": "MEDIUM",
"confidentialityImpact": "NONE",
"integrityImpact": "NONE",
"privilegesRequired": "NONE",
"scope": "UNCHANGED",
"userInteraction": "NONE",
"vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L",
"version": "3.1"
}
}
],
"problemTypes": [
{
"descriptions": [
{
"cweId": "CWE-460",
"description": "CWE-460: Improper Cleanup on Thrown Exception",
"lang": "en",
"type": "CWE"
}
]
}
],
"providerMetadata": {
"dateUpdated": "2026-03-26T17:10:31.661Z",
"orgId": "a0819718-46f1-4df5-94e2-005712e83aaa",
"shortName": "GitHub_M"
},
"references": [
{
"name": "https://github.com/anchore/syft/security/advisories/GHSA-rjcw-vg7j-m9rc",
"tags": [
"x_refsource_CONFIRM"
],
"url": "https://github.com/anchore/syft/security/advisories/GHSA-rjcw-vg7j-m9rc"
},
{
"name": "https://github.com/anchore/stereoscope/pull/537",
"tags": [
"x_refsource_MISC"
],
"url": "https://github.com/anchore/stereoscope/pull/537"
},
{
"name": "https://github.com/anchore/syft/pull/4629",
"tags": [
"x_refsource_MISC"
],
"url": "https://github.com/anchore/syft/pull/4629"
},
{
"name": "https://github.com/anchore/syft/pull/4668",
"tags": [
"x_refsource_MISC"
],
"url": "https://github.com/anchore/syft/pull/4668"
}
],
"source": {
"advisory": "GHSA-rjcw-vg7j-m9rc",
"discovery": "UNKNOWN"
},
"title": "Syft improper temporary file cleanup"
}
},
"cveMetadata": {
"assignerOrgId": "a0819718-46f1-4df5-94e2-005712e83aaa",
"assignerShortName": "GitHub_M",
"cveId": "CVE-2026-33481",
"datePublished": "2026-03-26T17:10:31.661Z",
"dateReserved": "2026-03-20T16:16:48.970Z",
"dateUpdated": "2026-03-27T14:42:05.318Z",
"state": "PUBLISHED"
},
"dataType": "CVE_RECORD",
"dataVersion": "5.2",
"vulnerability-lookup:meta": {
"nvd": "{\"cve\":{\"id\":\"CVE-2026-33481\",\"sourceIdentifier\":\"security-advisories@github.com\",\"published\":\"2026-03-26T18:16:29.733\",\"lastModified\":\"2026-03-31T21:15:56.197\",\"vulnStatus\":\"Analyzed\",\"cveTags\":[],\"descriptions\":[{\"lang\":\"en\",\"value\":\"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.\"},{\"lang\":\"es\",\"value\":\"Syft es una herramienta CLI y una biblioteca Go para generar una Lista de Materiales de Software (SBOM) a partir de im\u00e1genes de contenedor y sistemas de archivos. Las versiones de Syft anteriores a la v1.42.3 no limpiar\u00edan correctamente el almacenamiento temporal si este se agotaba durante un escaneo. Al escanear archivos, Syft desempaquetar\u00e1 esos archivos en el almacenamiento temporal y luego inspeccionar\u00e1 el contenido desempaquetado. Bajo operaci\u00f3n normal, Syft eliminar\u00e1 los datos temporales que escribe despu\u00e9s de completar un escaneo. Esta vulnerabilidad afectar\u00eda a los usuarios de Syft que estaban escaneando contenido que podr\u00eda hacer que Syft llenara el almacenamiento temporal, lo que luego har\u00eda que Syft generara un error y saliera. Cuando se activa el error, Syft saldr\u00eda sin eliminar correctamente los archivos temporales en uso. En nuestras pruebas, esto se reprodujo m\u00e1s f\u00e1cilmente escaneando artefactos muy grandes o artefactos altamente comprimidos como una zipbomb. Debido a que Syft no limpiar\u00eda sus archivos temporales, el resultado ser\u00eda el llenado del almacenamiento de archivos temporales, impidiendo futuras ejecuciones de Syft u otras utilidades del sistema que dependen de que el almacenamiento temporal est\u00e9 disponible. El parche ha sido lanzado en la v1.42.3. Syft ahora limpia los archivos temporales cuando se encuentra una condici\u00f3n de error. No hay soluciones alternativas para esta vulnerabilidad en Syft. Los usuarios que encuentren su almacenamiento temporal agotado pueden eliminar manualmente los archivos temporales.\"}],\"metrics\":{\"cvssMetricV31\":[{\"source\":\"security-advisories@github.com\",\"type\":\"Secondary\",\"cvssData\":{\"version\":\"3.1\",\"vectorString\":\"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L\",\"baseScore\":5.3,\"baseSeverity\":\"MEDIUM\",\"attackVector\":\"NETWORK\",\"attackComplexity\":\"LOW\",\"privilegesRequired\":\"NONE\",\"userInteraction\":\"NONE\",\"scope\":\"UNCHANGED\",\"confidentialityImpact\":\"NONE\",\"integrityImpact\":\"NONE\",\"availabilityImpact\":\"LOW\"},\"exploitabilityScore\":3.9,\"impactScore\":1.4}]},\"weaknesses\":[{\"source\":\"security-advisories@github.com\",\"type\":\"Primary\",\"description\":[{\"lang\":\"en\",\"value\":\"CWE-460\"}]}],\"configurations\":[{\"nodes\":[{\"operator\":\"OR\",\"negate\":false,\"cpeMatch\":[{\"vulnerable\":true,\"criteria\":\"cpe:2.3:a:anchore:syft:*:*:*:*:*:*:*:*\",\"versionEndExcluding\":\"1.42.3\",\"matchCriteriaId\":\"D911F63A-BFD6-4F13-9E84-D1A632651F2A\"}]}]}],\"references\":[{\"url\":\"https://github.com/anchore/stereoscope/pull/537\",\"source\":\"security-advisories@github.com\",\"tags\":[\"Issue Tracking\",\"Patch\"]},{\"url\":\"https://github.com/anchore/syft/pull/4629\",\"source\":\"security-advisories@github.com\",\"tags\":[\"Issue Tracking\",\"Patch\"]},{\"url\":\"https://github.com/anchore/syft/pull/4668\",\"source\":\"security-advisories@github.com\",\"tags\":[\"Issue Tracking\",\"Patch\"]},{\"url\":\"https://github.com/anchore/syft/security/advisories/GHSA-rjcw-vg7j-m9rc\",\"source\":\"security-advisories@github.com\",\"tags\":[\"Patch\",\"Vendor Advisory\"]}]}}",
"vulnrichment": {
"containers": "{\"cna\": {\"title\": \"Syft improper temporary file cleanup\", \"source\": {\"advisory\": \"GHSA-rjcw-vg7j-m9rc\", \"discovery\": \"UNKNOWN\"}, \"metrics\": [{\"cvssV3_1\": {\"scope\": \"UNCHANGED\", \"version\": \"3.1\", \"baseScore\": 5.3, \"attackVector\": \"NETWORK\", \"baseSeverity\": \"MEDIUM\", \"vectorString\": \"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L\", \"integrityImpact\": \"NONE\", \"userInteraction\": \"NONE\", \"attackComplexity\": \"LOW\", \"availabilityImpact\": \"LOW\", \"privilegesRequired\": \"NONE\", \"confidentialityImpact\": \"NONE\"}}], \"affected\": [{\"vendor\": \"anchore\", \"product\": \"syft\", \"versions\": [{\"status\": \"affected\", \"version\": \"\u003c 1.42.3\"}]}], \"references\": [{\"url\": \"https://github.com/anchore/syft/security/advisories/GHSA-rjcw-vg7j-m9rc\", \"name\": \"https://github.com/anchore/syft/security/advisories/GHSA-rjcw-vg7j-m9rc\", \"tags\": [\"x_refsource_CONFIRM\"]}, {\"url\": \"https://github.com/anchore/stereoscope/pull/537\", \"name\": \"https://github.com/anchore/stereoscope/pull/537\", \"tags\": [\"x_refsource_MISC\"]}, {\"url\": \"https://github.com/anchore/syft/pull/4629\", \"name\": \"https://github.com/anchore/syft/pull/4629\", \"tags\": [\"x_refsource_MISC\"]}, {\"url\": \"https://github.com/anchore/syft/pull/4668\", \"name\": \"https://github.com/anchore/syft/pull/4668\", \"tags\": [\"x_refsource_MISC\"]}], \"descriptions\": [{\"lang\": \"en\", \"value\": \"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.\"}], \"problemTypes\": [{\"descriptions\": [{\"lang\": \"en\", \"type\": \"CWE\", \"cweId\": \"CWE-460\", \"description\": \"CWE-460: Improper Cleanup on Thrown Exception\"}]}], \"providerMetadata\": {\"orgId\": \"a0819718-46f1-4df5-94e2-005712e83aaa\", \"shortName\": \"GitHub_M\", \"dateUpdated\": \"2026-03-26T17:10:31.661Z\"}}, \"adp\": [{\"title\": \"CISA ADP Vulnrichment\", \"metrics\": [{\"other\": {\"type\": \"ssvc\", \"content\": {\"id\": \"CVE-2026-33481\", \"role\": \"CISA Coordinator\", \"options\": [{\"Exploitation\": \"none\"}, {\"Automatable\": \"yes\"}, {\"Technical Impact\": \"partial\"}], \"version\": \"2.0.3\", \"timestamp\": \"2026-03-27T14:41:55.414173Z\"}}}], \"providerMetadata\": {\"shortName\": \"CISA-ADP\", \"orgId\": \"134c704f-9b21-4f2e-91b3-4a467353bcc0\", \"dateUpdated\": \"2026-03-27T14:42:00.190Z\"}}]}",
"cveMetadata": "{\"cveId\": \"CVE-2026-33481\", \"state\": \"PUBLISHED\", \"dateUpdated\": \"2026-03-26T17:10:31.661Z\", \"dateReserved\": \"2026-03-20T16:16:48.970Z\", \"assignerOrgId\": \"a0819718-46f1-4df5-94e2-005712e83aaa\", \"datePublished\": \"2026-03-26T17:10:31.661Z\", \"assignerShortName\": \"GitHub_M\"}",
"dataType": "CVE_RECORD",
"dataVersion": "5.2"
}
}
}
Loading…
Loading…
Sightings
| Author | Source | Type | Date |
|---|
Nomenclature
- Seen: The vulnerability was mentioned, discussed, or observed by the user.
- Confirmed: The vulnerability has been validated from an analyst's perspective.
- Published Proof of Concept: A public proof of concept is available for this vulnerability.
- Exploited: The vulnerability was observed as exploited by the user who reported the sighting.
- Patched: The vulnerability was observed as successfully patched by the user who reported the sighting.
- Not exploited: The vulnerability was not observed as exploited by the user who reported the sighting.
- Not confirmed: The user expressed doubt about the validity of the vulnerability.
- Not patched: The vulnerability was not observed as successfully patched by the user who reported the sighting.
Loading…
Loading…