CVE-2026-123371

compose-lint: A `.compose-lint.yml` symlinked outside the project is read, and a parse error quotes part of the target

Published Nov 9, 2026 CVSS 4.0 · 2.3 Low EPSS < 1% KEV · Not listed
Description
compose-lint is a Docker Compose security linter that identifies dangerous misconfigurations before deployment. From 0.2.0 until 0.32.0, compose-lint automatically follows a .compose-lint.yml policy-file symbolic link outside the project and includes part of the target line when that external file fails YAML parsing. A pull request can point the policy file at a runner credential file, causing about 30 characters around an attacker-uncontrolled parse position to appear in standard error, JSON errors, and SARIF tool execution notifications uploaded by the GitHub Action. The run exits with an error and the attacker cannot select the exact disclosed line, but public logs or Code Scanning output can reveal part of the target. This issue is fixed in version 0.32.0.

Remediation

No solution or workaround provided in the CVE record

Tracking

Sign in to view the affected projects.

Advisories

Source ID Title
Github GHSA Github GHSA GHSA-88f4-frh5-gmcr compose-lint: A `.compose-lint.yml` symlinked outside the project is read, and a parse error quotes part of the target
History
Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'no', 'Exploitation': 'none', 'Technical Impact': 'partial'}, 'version': '2.0.3'}

Type Values Removed Values Added
First Time appeared Tmatens
Tmatens compose-lint
Vendors & Products Tmatens
Tmatens compose-lint
Type Values Removed Values Added
Description compose-lint is a Docker Compose security linter that identifies dangerous misconfigurations before deployment. From 0.2.0 until 0.32.0, compose-lint automatically follows a .compose-lint.yml policy-file symbolic link outside the project and includes part of the target line when that external file fails YAML parsing. A pull request can point the policy file at a runner credential file, causing about 30 characters around an attacker-uncontrolled parse position to appear in standard error, JSON errors, and SARIF tool execution notifications uploaded by the GitHub Action. The run exits with an error and the attacker cannot select the exact disclosed line, but public logs or Code Scanning output can reveal part of the target. This issue is fixed in version 0.32.0.
Title compose-lint: A `.compose-lint.yml` symlinked outside the project is read, and a parse error quotes part of the target
Weaknesses CWE-209
CWE-59
References
Metrics cvssV4_0

{'score': 2.3, 'vector': 'CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:P/VC:L/VI:N/VA:N/SC:N/SI:N/SA:N'}

Weaknesses

Sources

Status
PUBLISHED
Assigner
GitHub_M
Published
Updated
Nov 10, 2026, 7:11 PM
Reserved
Nov 5, 2026, 8:43 PM
Status
Deferred
Published
Nov 9, 2026, 6:17 PM
Modified
Nov 12, 2026, 10:18 PM