Goal Reached Thanks to every supporter — we hit 100%!

Goal: 1000 CNY · Raised: 1359 CNY

100%

CVE-2026-125123— compose-lint: A file path in a pull request can issue CI workflow commands through compose-lint 0.31.0's command-line error messages

Quick assessment

Affected
tmatens compose-lint
Exploitation
No confirmed in-the-wild exploitation; assess based on exposure
Recommended action
Check the vendor advisory and references for a fixed version. If immediate upgrade is impossible, restrict exposure and increase monitoring.

compose-lint 是一款用于 Docker Compose 的安全检查工具,可在部署前识别危险配置错误。在 0.31.0 版本中,当用户传入的路径未以 分隔符开头时,compose-lint 的参数解析器会将被拒绝的仓库路径直接写入标准错误流(stderr),且未经过输出净化处理。攻击者可通过 Pull Request 提交包含 GitHub Actions 工作流命令语法的恶意路径;通过插入回车符(Carriage Return),可将该命令置于新行的起始位置,从而被 GitHub Actions 运行器

CVSS 2.3 · Low

Affected Version Matrix 1

VendorProduct Version RangeStatus
tmatens compose-lint = 0.31.0 affected
Get alerts for future matching vulnerabilities Log in to subscribe

I. Basic Information for CVE-2026-125123

Vulnerability Information

Have questions about the vulnerability? See if Shenlong's analysis helps!
View Shenlong Deep Dive ↗

Although we use advanced large model technology, its output may still contain inaccurate or outdated information.Shenlong tries to ensure data accuracy, but please verify and judge based on the actual situation.

Vulnerability Title
compose-lint: A file path in a pull request can issue CI workflow commands through compose-lint 0.31.0's command-line error messages
Source: CVE Program / CVE List V5
Vulnerability Description
compose-lint is a Docker Compose security linter that identifies dangerous misconfigurations before deployment. In version 0.31.0, compose-lint's argument parser writes rejected repository paths to stderr without the output sanitizer when a path is passed without a preceding -- separator. A pull request can supply a path containing workflow-command syntax; a carriage return can position that command at the start of a new line recognized by the GitHub Actions runner, allowing the package, Docker image, or a pre-commit hook with misconfigured args to issue the command in the job log. The default pre-commit configuration includes -- and is not affected, the GitHub Action is not affected, and the lint pass or fail result is unchanged. This issue is fixed in version 0.32.0.
Source: CVE Program / CVE List V5
CVSS Information
CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:P/VC:N/VI:L/VA:N/SC:N/SI:L/SA:N
Source: CVE Program / CVE List V5
Vulnerability Type
日志输出的转义处理不恰当
Source: CVE Program / CVE List V5

Affected Products

Vendor Product Affected Versions CPE Subscribe
tmatens compose-lint = 0.31.0 -

II. Public POCs for CVE-2026-125123

# POC Description Source Link Shenlong Link
AI-Generated POC Premium

No public POC found.

Login to generate AI POC

III. Intelligence Information for CVE-2026-125123

请登录查看更多情报信息。

Patches & Fixes for CVE-2026-125123 (1)

Vendor Advisories for CVE-2026-125123 (1)

Vendor Pages for CVE-2026-125123 (1)

Same Patch Batch · tmatens · 2026-11-10 · 5 CVEs total

CVE-2026-125121 5.3 MEDIUM compose-lint: Text in a pull request can still issue CI workflow commands through compose-
CVE-2026-125125 2.3 LOW compose-lint: A symlink in a pull request can issue workflow commands through the compose-
CVE-2026-125124 2.3 LOW compose-lint: Text in a pull request can reach Azure Pipelines as logging commands through
CVE-2026-125122 2.3 LOW compose-lint: Text in a pull request can issue CI workflow commands through compose-lint 0

IV. Related Vulnerabilities