{"id":"GHSA-jp7v-3587-2956","summary":"Credential disclosure in syft when SYFT_ATTEST_PASSWORD environment variable set","details":"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.\n\n### Impact\nThe `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 \u003cpath-to-key-file\u003e`)  during the signing process while generating an SBOM attestation. \n\nThis 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.\n\nThe credentials are leaked in two ways:\n- in the syft logs when `-vv` or `-vvv` are used in the syft command (which is any log level \u003e= `DEBUG`)\n- in the attestation or SBOM only when the `syft-json` format is used \n\nNote 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.\n\nExample commands run from affected versions of syft that show the credential disclosure:\n```bash\n$ SYFT_ATTEST_PASSWORD=123456 syft \u003ccontainer-image-or-directory-input\u003e -o syft-json | grep 123456\n# \"123456\" is in the output\n\n$ SYFT_ATTEST_PASSWORD=123456 syft attest \u003ccontainer-image-input\u003e -o syft-json \n$ cosign download attestation \u003ccontainer-image-input\u003e | jq -r '.payload' | base64 -d | grep 123456\n# \"123456\" is in the output\n```\n\n### Patches\n\nThe patch has been released in v0.70.0.\n\n### Workarounds\n\nThere are no workarounds for this vulnerability.\n\n### References\n\nPatch pull request: https://github.com/anchore/syft/pull/1538","aliases":["CVE-2023-24827","GO-2023-1533"],"modified":"2024-08-20T20:58:55.980773Z","published":"2023-02-08T21:38:46Z","database_specific":{"github_reviewed_at":"2023-02-08T21:38:46Z","nvd_published_at":"2023-02-07T01:15:00Z","cwe_ids":["CWE-200","CWE-532"],"severity":"MODERATE","github_reviewed":true},"references":[{"type":"WEB","url":"https://github.com/anchore/syft/security/advisories/GHSA-jp7v-3587-2956"},{"type":"ADVISORY","url":"https://nvd.nist.gov/vuln/detail/CVE-2023-24827"},{"type":"WEB","url":"https://github.com/anchore/syft/commit/9995950c70e849f9921919faffbfcf46401f71f3"},{"type":"PACKAGE","url":"https://github.com/anchore/syft"}],"affected":[{"package":{"name":"github.com/anchore/syft","ecosystem":"Go","purl":"pkg:golang/github.com/anchore/syft"},"ranges":[{"type":"SEMVER","events":[{"introduced":"0.69.0"},{"fixed":"0.70.0"}]}],"database_specific":{"source":"https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2023/02/GHSA-jp7v-3587-2956/GHSA-jp7v-3587-2956.json"}}],"schema_version":"1.9.0","severity":[{"type":"CVSS_V3","score":"CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:N/A:N"}]}