LOWCVSS v4 2.3Vulnerability

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)

Related research

Explore deeper with Ninja Signal's threat intelligence graph

CVE-2026-123373 (CVSS v4 2.3) — Ninja Signal Threat Intelligence | Ninja Signal