Skip to content
OpenAdvisories
Low · 2.3 CVE-2026-123368 EUVD-2026-120123GHSA-6wcv-rj3c-mhv3

compose-lint: .env read through a symlink outside the project can expose the CI job's environment

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.31.0, compose-lint follows a sibling .env symbolic link outside the project without applying its normal containment check. From 0.28.0, the same gap also affects an include project_directory link outside the project. A pull request can reference a variable from the linked file, causing substitution to place runner file or process-environment data into finding messages written to logs, JSON, SARIF artifacts, and Code Scanning alerts. Reading /proc/self/environ can expose the remainder of the linter process environment because NUL-separated entries are treated as one value, although disclosure requires a workflow that processes untrusted changes with useful environment data and GitHub normally withholds secrets from fork pull requests. The pass or fail result is not changed. This issue is fixed in version 0.31.0.

Affected products

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

Affected packages

EcosystemPackageAffectedFixedRecord
GitHub Actions tmatens/compose-lint >= 0.22.0, < 0.31.0 0.31.0 GHSA-6wcv-rj3c-mhv3
PyPI compose-lint >= 0.22.0, < 0.31.0 0.31.0 GHSA-6wcv-rj3c-mhv3

References