Skip to content
OpenAdvisories
Low · 2.3 CVE-2026-123372 EUVD-2026-120129GHSA-jf3h-8jvx-vcrg

compose-lint: A pull request can make compose-lint quote a secret from a CI-generated `.env` into its findings

Published Nov 9, 2026 · Updated Nov 13, 2026 · Assigned by GitHub_M

Description

compose-lint is a Docker Compose security linter that identifies dangerous misconfigurations before deployment. From 0.22.0 until 0.32.0, compose-lint substitutes values from a sibling .env file into image fields and quotes the resolved value in CL-0004 and CL-0019 finding messages and fix text. In a workflow that writes secrets into that file and then lints untrusted pull-request content, an attacker can reference a secret variable so its whole value reaches the job log, JSON output, SARIF artifacts, and Code Scanning alerts. Fork pull requests normally lack secrets, so exploitation requires a secret-bearing workflow such as pull_request_target, same-repository branches, or a retained .env on a self-hosted runner, and the pass or fail result is unchanged. This issue is fixed in version 0.32.0.

Affected products

VendorProductAffectedFixed
tmatens compose-lint >= 0.22.0, < 0.32.0 —

Affected packages

EcosystemPackageAffectedFixedRecord
GitHub Actions tmatens/compose-lint >= 0.22.0, < 0.32.0 0.32.0 GHSA-jf3h-8jvx-vcrg
PyPI compose-lint >= 0.22.0, < 0.32.0 0.32.0 GHSA-jf3h-8jvx-vcrg

References