Credential disclosure in syft when SYFT_ATTEST_PASSWORD environment variable set in syft
Key facts
- Attack vector
- Network
- Privileges required
- None
- User interaction
- None
- Attack complexity
- Low
- Impact type
- Information disclosure
- Confidentiality · integrity · availability
- High · None · None
- Fix status
- Fixed
Attack profile from CVSS 3.1 · NVD. Fix status from CNA and GitHub. Impact type from CWE-200.
Summary
syft is a a CLI tool and Go library for generating a Software Bill of Materials (SBOM) from container images and filesystems. A password disclosure flaw was found in Syft versions v0.69.0 and v0.69.1. This flaw leaks the password stored in the SYFT_ATTEST_PASSWORD environment variable. The `SYFT_ATTEST_PASSWORD` environment variable is for the `syft attest` command to generate attested SBOMs for the given container image. This environment variable is used to decrypt the private key (provided with `syft attest --key <path-to-key-file>`) during the signing process while generating an SBOM attestation. This vulnerability affects users running syft that have the `SYFT_ATTEST_PASSWORD` environment variable set with credentials (regardless of if the attest command is being used or not). Users that do not have the environment variable `SYFT_ATTEST_PASSWORD` set are not affected by this issue. The credentials are leaked in two ways: in the syft logs when `-vv` or `-vvv` are used in the syft command (which is any log level >= `DEBUG`) and in the attestation or SBOM only when the `syft-json` format is used. Note that as of v0.69.0 any generated attestations by the `syft attest` command are uploaded to the OCI registry (if you have write access to that registry) in the same way `cosign attach` is done. This means that any attestations generated for the affected versions of syft when the `SYFT_ATTEST_PASSWORD` environment variable was set would leak credentials in the attestation payload uploaded to the OCI registry. This issue has been patched in commit `9995950c70` and has been released as v0.70.0. There are no workarounds for this vulnerability. Users are advised to upgrade.
Why it matters now
SSVC decision points
CISA ADP · SSVC 2.0.3
- Exploitation
- Poc
- Automatable
- No
- Technical impact
- Partial
The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.
Affected products
| Vendor | Product | Affected versions | Fixed in | Status | Source |
|---|---|---|---|---|---|
| anchore | syft | 0.69.0 to before 0.70.0 | 0.70.0 | Patch available | CNA |
| — | github.com/anchore/syft (Go) | 0.69.0 to before 0.70.0 | 0.70.0 | Patch available | GHSA-jp7v-3587-2956 |
- syft Vendoranchore Affected 0.69.0 to before 0.70.0 Fixed in 0.70.0 Patch available CNA
- github.com/anchore/syft (Go) Vendor— Affected 0.69.0 to before 0.70.0 Fixed in 0.70.0 Patch available GHSA-jp7v-3587-2956
Remediation
- Fix · CNA syft (anchore) Fixed in 0.70.0
- Fix · GHSA-jp7v-3587-2956 github.com/anchore/syft (Go) Fixed in 0.70.0 Advisory →
Timeline
- 2026-10-02 Threatist record created from CVE-2023-24827
- 2026-10-03 Alias added: GHSA-jp7v-3587-2956
References
More anchore Syft vulnerabilities
- TI-2026-25877 Syft improper temporary file cleanup CVSS 3.1MEDIUM 5.3
Sources
- CVE-2023-24827 · CVE Program
- CVE-2023-24827 · NVD
- FIRST EPSS
- GHSA-jp7v-3587-2956 · GitHub Advisory Database · CC BY 4.0
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences