CVE-2023-24827

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.
Configurations

Configuration 1 (hide)

OR cpe:2.3:a:anchore:syft:0.69.0:*:*:*:*:*:*:*
cpe:2.3:a:anchore:syft:0.69.1:*:*:*:*:*:*:*

History

21 Nov 2024, 07:48

Type Values Removed Values Added
References () https://github.com/anchore/syft/commit/9995950c70e849f9921919faffbfcf46401f71f3 - Patch, Vendor Advisory () https://github.com/anchore/syft/commit/9995950c70e849f9921919faffbfcf46401f71f3 - Patch, Vendor Advisory
References () https://github.com/anchore/syft/security/advisories/GHSA-jp7v-3587-2956 - Exploit, Vendor Advisory () https://github.com/anchore/syft/security/advisories/GHSA-jp7v-3587-2956 - Exploit, Vendor Advisory
Summary
  • (es) syft es una herramienta CLI y una librería Go para generar una lista de materiales de software (SBOM) a partir de imágenes de contenedores y sistemas de archivos. Se encontró una falla de divulgación de contraseña en las versiones v0.69.0 y v0.69.1 de Syft. Esta falla filtra la contraseña almacenada en la variable de entorno SYFT_ATTEST_PASSWORD. La variable de entorno `SYFT_ATTEST_PASSWORD` es para que el comando `syft attest` genere SBOM certificado para la imagen del contenedor dada. Esta variable de entorno se utiliza para descifrar la clave privada (proporcionada con `syft attest --key `) durante el proceso de firma mientras se genera una certificación SBOM. Esta vulnerabilidad afecta a los usuarios que ejecutan syft y tienen la variable de entorno `SYFT_ATTEST_PASSWORD` configurada con credenciales (independientemente de si se está utilizando el comando attest o no). Los usuarios que no tienen configurada la variable de entorno `SYFT_ATTEST_PASSWORD` no se ven afectados por este problema. Las credenciales se filtran de dos maneras: en los registros de syft cuando se usan `-vv` o `-vvv` en el comando syft (que es cualquier nivel de registro &gt;= `DEBUG`) y en la atestación o SBOM solo cuando Se utiliza el formato `syft-json`. Tenga en cuenta que a partir de la versión 0.69.0, cualquier certificación generada por el comando `syft attest` se carga en el registro OCI (si tiene acceso de escritura a ese registro) de la misma manera que se realiza `cosign adjunto`. Esto significa que cualquier certificación generada para las versiones afectadas de syft cuando se configuró la variable de entorno `SYFT_ATTEST_PASSWORD` filtraría credenciales en el payload de certificación cargada en el registro OCI. Este problema se solucionó en el commit `9995950c70` y se lanzó como v0.70.0. No existen workarounds para esta vulnerabilidad. Se recomienda a los usuarios que actualicen.
CVSS v2 : unknown
v3 : 7.5
v2 : unknown
v3 : 6.5

14 Apr 2023, 18:53

Type Values Removed Values Added
New CVE

Information

Published : 2023-02-07 01:15

Updated : 2024-11-21 07:48


NVD link : CVE-2023-24827

Mitre link : CVE-2023-24827

CVE.ORG link : CVE-2023-24827


JSON object : View

Products Affected

anchore

  • syft
CWE
CWE-200

Exposure of Sensitive Information to an Unauthorized Actor

CWE-532

Insertion of Sensitive Information into Log File