CVE-2026-123373
### Impact Like Docker Compose, compose-lint follows symlinks when it reads a project's files. Unlike Compose, compose-lint up to 0.24.0 could then put the contents of a file from *outside* the project into its output, where the author of a pull request can read it. A pull request can commit a symlink, under a name compose-lint reads, pointing at a file on the CI runner: - **The Compose file itself (0.2.0–0.24.0).** A `compose.yml` that is a symlink, whether the pre-commit hook passes its name or the Action or a bare run finds it. - **`compose.override.yml` (0.22.0–0.24.0),** which compose-lint merges automatically. - **A `COMPOSE_FILE` entry (0.22.0–0.24.0)** in a `.env` beside the Compose file. When the target is not valid YAML, the parse error quotes the line it failed on. Docker Compose, given the same file, reports only a line number. That line reaches standard error (the job log), JSON `errors[]`, and the SARIF `toolExecutionNotifications`, which the Action uploads to Code Scanning. A fourth route: from 0.23.0, a symlinked `env_file:` target makes CL-0020 and CL-0021 report the credential-like **key names** in a file outside the project. Values are not printed. What can be read is one line of a file chosen by path, at the point where the YAML parser fails, which the attacker cannot choose; or key names. A symlink to `/proc/self/environ` gave neither in testing. The pass/fail result is not affected. On a public repository the job log is visible to the pull request's author. Found during an internal pre-1.0 security review. **GitHub Action.** Action tags v0.18.0 through v0.24.0 install their own compose-lint version and are affected. Earlier tags install the newest release unless `version:` is set; they were affected while that was 0.24.0 or earlier. **Docker image.** `composelint/compose-lint` tags 0.3.3 through 0.24.0, and the matching minor tags, are affected. Inside the container a symlink resolves within the container, so what can be read is the co
Properties
- Severity
- low
- Summary
- compose-lint: A committed symlink makes compose-lint quote a file from outside the project into its output
- Nvd fetched at
- 2026-11-10T23:33:48.924589+00:00
- Epss score
- 0.00452
- Cvss severity
- LOW
- Cvss score
- 2.3
- Retrieved at
- 2026-11-10T23:35:17+00:00
- Ghsa published
- 2026-11-10T15:57:10Z
- Source url
- https://github.com/advisories/GHSA-whr6-fgpq-fpv9
- Ghsa updated
- 2026-11-10T15:57:13Z
- Ghsa id
- GHSA-whr6-fgpq-fpv9
- Last source
- FIRST EPSS
- Score
- 2.3
- Cvss version
- 4.0
- Cve id
- CVE-2026-123373
- Cvss 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/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
- First seen by Signal
- 2026-11-09T19:15:57+00:00
- Name
- CVE-2026-123373
- Is ghsa only
- false
- 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/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
Related Entities (6)
AFFECTS (2)
HAS_WEAKNESS (2)
VULNERABLE_TO (2)
Related research
Explore deeper with Ninja Signal's threat intelligence graph