{"cve":"CVE-2023-24827","nvd":{"published":"2023-02-07T01:15:09.660","modified":"2026-06-17T05:39:56.753","status":"Modified","description":"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.","cvss_v4":null,"cvss_v3":{"version":"3.1","vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N","score":7.5},"cwes":["CWE-532","CWE-200"],"references":["https://github.com/anchore/syft/commit/9995950c70e849f9921919faffbfcf46401f71f3","https://github.com/anchore/syft/security/advisories/GHSA-jp7v-3587-2956","https://github.com/anchore/syft/commit/9995950c70e849f9921919faffbfcf46401f71f3","https://github.com/anchore/syft/security/advisories/GHSA-jp7v-3587-2956"],"products":["anchore:syft"],"source":"nvd","synced_at":"2026-10-19T21:37:38.595364862+00:00"},"epss":{"cve":"CVE-2023-24827","score":0.00791,"percentile":0.56313,"date":"2026-10-31"},"kev":null,"osv":[{"id":"GHSA-jp7v-3587-2956","url":"https://osv.dev/vulnerability/GHSA-jp7v-3587-2956","summary":"Credential disclosure in syft when SYFT_ATTEST_PASSWORD environment variable set","modified":"2024-08-20T20:58:55.980773Z","packages":[{"ecosystem":"Go","name":"github.com/anchore/syft","purl":"pkg:golang/github.com/anchore/syft","ranges":[">=0.69.0 <0.70.0"],"fixed":["0.70.0"]}]},{"id":"GO-2023-1533","url":"https://osv.dev/vulnerability/GO-2023-1533","summary":"Credential disclosure in syft when SYFT_ATTEST_PASSWORD environment variable set in github.com/anchore/syft","modified":"2026-03-03T04:53:15.609228Z","packages":[{"ecosystem":"Go","name":"github.com/anchore/syft","purl":"pkg:golang/github.com/anchore/syft","ranges":[">=0.69.0 <0.70.0"],"fixed":["0.70.0"]}]}],"attribution":["This product uses the NVD API but is not endorsed or certified by the NVD.","EPSS scores: FIRST Exploit Prediction Scoring System, https://www.first.org/epss","Known exploited vulnerabilities: CISA Known Exploited Vulnerabilities Catalog, https://www.cisa.gov/known-exploited-vulnerabilities-catalog","Package advisories: OSV (https://osv.dev), from the GitHub Advisory Database, PyPA, Go, RustSec and other ecosystem databases, under CC-BY 4.0 or CC0","CVE records: the CVE Program's CVE List (https://www.cve.org), under its terms of use (https://www.cve.org/Legal/TermsOfUse). CVE is a registered trademark of The MITRE Corporation; this product is not affiliated with the CVE Program."]}