Description
compose-lint is a Docker Compose security linter that identifies dangerous misconfigurations before deployment. From 0.32.0 until 0.33.0, compose-lint's incomplete remediation for .env secret disclosure checks the 20,000-finding limit before replacing resolved values with their variable references. A pull request can combine a secret-referencing image field with aliased content that produces more than 20,000 findings, causing the early-stop path to emit already graded findings with the resolved secret value in text, JSON, SARIF, and Code Scanning output. Exploitation requires a workflow that writes secrets into the sibling .env and lints untrusted changes, and the run exits 2 unless --allow-partial-coverage is used. This issue is fixed in version 0.33.0.
Published: 2026-11-09
Score: 2.3 Low
EPSS: n/a
KEV: No
Impact: Secret Disclosure
Action: Patch Now
AI Analysis

Impact

The vulnerability occurs when compose‑lint processes a Docker Compose file that triggers more than 20,000 findings. During the early‑stop path the linter emits already graded findings that contain the resolved secret value, exposing sensitive data in the linter’s text, JSON, SARIF, and Code Scanning outputs. This flaw allows an attacker who can influence the linted content to expose secrets that were stored in a CI‑generated .env file, constituting a confidentiality breach consistent with CWE‑200 and CWE‑532. The disclosure would allow an adversary to read any secrets persisted in the .env during the lint run, potentially revealing API keys, passwords, or other credential material.

Affected Systems

The issue affects users of the tmatens:compose‑lint tool from version 0.32.0 up to, but excluding, 0.33.0. The vendor’s security advisory and pull request indicate that the fix is incorporated in release 0.33.0. Anyone running compose‑lint 0.32.x on a repository that contains a CI‑generated .env through which secrets are written is potentially vulnerable.

Risk and Exploitability

The CVSS score of 2.3 demonstrates a low severity, and the EPSS score is not available, indicating no known widespread exploitation. The flaw is not listed in the CISA KEV catalog. Exploitation requires an attacker to have influence over the CI environment that writes secrets into a sibling .env and to trigger a lint run that exceeds the 20,000‑finding threshold. In practice, this means the vulnerability is largely restricted to obtaining access to internal CI logs and outputs, and mitigated by proper secret management and lint configuration.

Generated by OpenCVE AI on November 9, 2026 at 19:53 UTC.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Upgrade compose‑lint to version 0.33.0 or later.
  • Modify your CI pipeline to avoid writing secrets into the .env file that is scanned by compose‑lint, or exclude that file from linting via .dockerignore or lint configuration options.
  • If upgrading is not feasible, run compose‑lint with the --allow-partial-coverage flag to permit the lint process to finish after hitting the finding limit, reducing the likelihood that the early‑stop path exposes resolved secret values.

Generated by OpenCVE AI on November 9, 2026 at 19:53 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Mon, 09 Nov 2026 18:00:00 +0000

Type Values Removed Values Added
Description compose-lint is a Docker Compose security linter that identifies dangerous misconfigurations before deployment. From 0.32.0 until 0.33.0, compose-lint's incomplete remediation for .env secret disclosure checks the 20,000-finding limit before replacing resolved values with their variable references. A pull request can combine a secret-referencing image field with aliased content that produces more than 20,000 findings, causing the early-stop path to emit already graded findings with the resolved secret value in text, JSON, SARIF, and Code Scanning output. Exploitation requires a workflow that writes secrets into the sibling .env and lints untrusted changes, and the run exits 2 unless --allow-partial-coverage is used. This issue is fixed in version 0.33.0.
Title compose-lint: Incomplete fix for GHSA-jf3h-8jvx-vcrg: a run stopped at the finding limit quotes a secret from a CI-generated `.env`
Weaknesses CWE-200
CWE-532
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'}


Subscriptions

No data.

cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published:

Updated: 2026-11-09T17:48:15.456Z

Reserved: 2026-11-06T15:27:56.225Z

Link: CVE-2026-123796

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-11-09T18:17:26.733

Modified: 2026-11-09T18:17:26.733

Link: CVE-2026-123796

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-11-09T20:00:12Z

Weaknesses
  • CWE-200

    Exposure of Sensitive Information to an Unauthorized Actor

  • CWE-532

    Insertion of Sensitive Information into Log File