Skip to content

Get the evidence behind this dependency. Browse imported advisories below, or check an exact version against OSV now. View source coverage.

Check the version you ship.

Get a fresh OSV lookup for an exact release. We send the package name and version to OSV without storing a report.

Advisories & recorded fixes

low2.3
CVE-2026-125123Package fixes recorded

compose-lint: File paths embedded in pull requests can inject CI workflow commands through command-line error messages

0.31.0 fixed GHSA-6f4g-xm8v-pgv6, where text from a Compose file became GitHub Actions workflow commands in compose-lint's output. The fix escapes the command openers in compose-lint's own output, but not in the argument parser's error messages. When a repository path reaches compose-lint's arguments without a -- before it, the argument parser prints it raw in its error message. That includes a carriage return, which the runner treats as a line break, so a command can also start a new line there.

Recorded fixes — compose-lint: 0.32.0. Check your release branch.

Exploitation not established

Affected range Recorded fix
From 0.31.0 before 0.32.0Ecosystem versions0.32.0

Version evidence: OSV · GHSA-8v59-qmwv-4p6q

View original version evidence
{
  "ranges": [
    {
      "events": [
        {
          "introduced": "0.31.0"
        },
        {
          "fixed": "0.32.0"
        }
      ],
      "type": "ECOSYSTEM"
    }
  ],
  "versions": [
    "0.31.0"
  ]
}
low2.3
CVE-2026-125122Package fixes recorded

compose-lint: Text in a pull request can issue CI workflow commands through JSON and SARIF output on stdout

0.31.0 fixed GHSA-6f4g-xm8v-pgv6, where text from a Compose file became GitHub Actions workflow commands in compose-lint's output. --format json and --format sarif output never passed through that fix, so ##[ inside a service name or other value reaches the log intact when the output is printed to stdout rather than written to a file. The runner acts on ##[ in the middle of a line, so the JSON layout does not prevent it.

Recorded fixes — compose-lint: 0.32.0. Check your release branch.

Exploitation not established

Affected range Recorded fix
From 0.31.0 before 0.32.0Ecosystem versions0.32.0

Version evidence: OSV · GHSA-hr4h-4c45-v4q4

View original version evidence
{
  "ranges": [
    {
      "events": [
        {
          "introduced": "0.31.0"
        },
        {
          "fixed": "0.32.0"
        }
      ],
      "type": "ECOSYSTEM"
    }
  ],
  "versions": [
    "0.31.0"
  ]
}
medium5.3
CVE-2026-125121Package fixes recorded

compose-lint: Text in a pull request can still issue CI workflow commands through compose-lint 0.31.0's output

0.31.0 fixed GHSA-6f4g-xm8v-pgv6, where text from a Compose file became GitHub Actions workflow commands in compose-lint's output. The fix escapes the command openers in everything compose-lint prints, and the 0.31.0 changelog says the report "escapes both openers (also covering Azure Pipelines)". Five paths were left open:

Recorded fixes — compose-lint: 0.32.0. Check your release branch.

Exploitation not established

Affected range Recorded fix
From 0.31.0 before 0.32.0Ecosystem versions0.32.0

Version evidence: OSV · GHSA-r7j4-crjv-h467

View original version evidence
{
  "ranges": [
    {
      "events": [
        {
          "introduced": "0.31.0"
        },
        {
          "fixed": "0.32.0"
        }
      ],
      "type": "ECOSYSTEM"
    }
  ],
  "versions": [
    "0.31.0"
  ]
}
low2.3
CVE-2026-123796Package fixes recorded

compose-lint: Incomplete fix for GHSA-jf3h-8jvx-vcrg: a run stopped at the finding limit quotes a secret from a CI-generated `.env`

This is an incomplete fix for GHSA-jf3h-8jvx-vcrg. 0.32.0 made findings quote the ${NAME} a sibling .env filled in, instead of its value. The same release added a stop at 20,000 findings per document, and that stop is checked before the quoting step. A run that hits it reports the findings graded so far with the resolved values still in them, in text, JSON and SARIF output. That happens with or without --allow-partial-coverage.

Recorded fixes — compose-lint: 0.33.0; tmatens/compose-lint: 0.33.0 or 691e08bd1881ada886e3f556d0793079e8114451. Check your release branch.

Public exploit reference

Affected range Recorded fix
From 0.32.0 before 0.33.0Ecosystem versions0.33.0

Version evidence: OSV · GHSA-rm8w-w798-g545

View original version evidence
{
  "ranges": [
    {
      "events": [
        {
          "introduced": "0.32.0"
        },
        {
          "fixed": "0.33.0"
        }
      ],
      "type": "ECOSYSTEM"
    }
  ],
  "versions": [
    "0.32.0"
  ]
}
low2.3
CVE-2026-123373Package fixes recorded

compose-lint: A committed symlink makes compose-lint quote a file from outside the project into its output

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.

Recorded fixes — compose-lint: 0.25.0; tmatens/compose-lint: 0.25.0 or cb12b5313ff1fb182ff3c832b41ff3d574a68c6b. Check your release branch.

Exploitation not established

Affected range Recorded fix
From 0.2.0 before 0.25.0Ecosystem versions0.25.0

Version evidence: OSV · GHSA-whr6-fgpq-fpv9

View original version evidence
{
  "ranges": [
    {
      "events": [
        {
          "introduced": "0.2.0"
        },
        {
          "fixed": "0.25.0"
        }
      ],
      "type": "ECOSYSTEM"
    }
  ],
  "versions": [
    "0.10.0",
    "0.11.0",
    "0.12.0",
    "0.12.1",
    "0.12.2",
    "0.13.0",
    "0.14.0",
    "0.14.1",
    "0.15.0",
    "0.15.1",
    "0.15.2",
    "0.16.0",
    "0.17.0",
    "0.18.0",
    "0.19.0",
    "0.2.0",
    "0.20.0",
    "0.21.0",
    "0.22.0",
    "0.23.0",
    "0.24.0",
    "0.3.0",
    "0.3.2",
    "0.3.3",
    "0.3.4",
    "0.3.5",
    "0.3.6",
    "0.3.7",
    "0.4.0",
    "0.4.1",
    "0.5.0",
    "0.5.1",
    "0.5.2",
    "0.6.0",
    "0.7.0",
    "0.7.1",
    "0.8.0",
    "0.9.0"
  ]
}
low2.3
CVE-2026-123372Package fixes recorded

compose-lint: A pull request can make compose-lint quote a secret from a CI-generated `.env` into its findings

Since 0.22.0, compose-lint fills in ${VAR} references from the .env beside the Compose file, as Compose does. The documentation says values under environment: are never resolved from a .env, "that is where secrets live". But image: values are resolved, and CL-0004 and CL-0019 quote the resolved image in their message and fix text.

Recorded fixes — compose-lint: 0.32.0; tmatens/compose-lint: 0.32.0 or 2d42617e4c6416f797bbfc6a057950131fa02df3. Check your release branch.

Public exploit reference

Affected range Recorded fix
From 0.22.0 before 0.32.0Ecosystem versions0.32.0

Version evidence: OSV · GHSA-jf3h-8jvx-vcrg

View original version evidence
{
  "ranges": [
    {
      "events": [
        {
          "introduced": "0.22.0"
        },
        {
          "fixed": "0.32.0"
        }
      ],
      "type": "ECOSYSTEM"
    }
  ],
  "versions": [
    "0.22.0",
    "0.23.0",
    "0.24.0",
    "0.25.0",
    "0.26.0",
    "0.27.0",
    "0.28.0",
    "0.29.0",
    "0.30.0",
    "0.31.0"
  ]
}
low2.3
CVE-2026-123371Package fixes recorded

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

compose-lint automatically reads a .compose-lint.yml policy file beside the Compose file. It is meant to read nothing outside the project directory, but it follows that file if it is a symlink, wherever it points.

Recorded fixes — compose-lint: 0.32.0; tmatens/compose-lint: 0.32.0 or 2d42617e4c6416f797bbfc6a057950131fa02df3. Check your release branch.

Exploitation not established

Affected range Recorded fix
From 0.2.0 before 0.32.0Ecosystem versions0.32.0

Version evidence: OSV · GHSA-88f4-frh5-gmcr

View original version evidence
{
  "ranges": [
    {
      "events": [
        {
          "introduced": "0.2.0"
        },
        {
          "fixed": "0.32.0"
        }
      ],
      "type": "ECOSYSTEM"
    }
  ],
  "versions": [
    "0.10.0",
    "0.11.0",
    "0.12.0",
    "0.12.1",
    "0.12.2",
    "0.13.0",
    "0.14.0",
    "0.14.1",
    "0.15.0",
    "0.15.1",
    "0.15.2",
    "0.16.0",
    "0.17.0",
    "0.18.0",
    "0.19.0",
    "0.2.0",
    "0.20.0",
    "0.21.0",
    "0.22.0",
    "0.23.0",
    "0.24.0",
    "0.25.0",
    "0.26.0",
    "0.27.0",
    "0.28.0",
    "0.29.0",
    "0.3.0",
    "0.3.2",
    "0.3.3",
    "0.3.4",
    "0.3.5",
    "0.3.6",
    "0.3.7",
    "0.30.0",
    "0.31.0",
    "0.4.0",
    "0.4.1",
    "0.5.0",
    "0.5.1",
    "0.5.2",
    "0.6.0",
    "0.7.0",
    "0.7.1",
    "0.8.0",
    "0.9.0"
  ]
}
medium5.1
CVE-2026-123370Package fixes recorded

compose-lint: `fix --apply` can delete a line the user did not select, including a security setting

compose-lint fix --apply converts the line numbers its fixers work with into positions in the file. The YAML parser treats a lone carriage return, U+0085, U+2028 and U+2029 as line breaks, but the conversion counted only \n. One of those characters inside a quoted value, which most editors and diff views don't show, shifted every later edit down by one line.

Recorded fixes — compose-lint: 0.18.0. Check your release branch.

Public exploit reference

Affected range Recorded fix
From 0.9.0 before 0.18.0Ecosystem versions0.18.0

Version evidence: OSV · GHSA-65v8-q222-64xx

View original version evidence
{
  "ranges": [
    {
      "events": [
        {
          "introduced": "0.9.0"
        },
        {
          "fixed": "0.18.0"
        }
      ],
      "type": "ECOSYSTEM"
    }
  ],
  "versions": [
    "0.10.0",
    "0.11.0",
    "0.12.0",
    "0.12.1",
    "0.12.2",
    "0.13.0",
    "0.14.0",
    "0.14.1",
    "0.15.0",
    "0.15.1",
    "0.15.2",
    "0.16.0",
    "0.17.0",
    "0.9.0"
  ]
}
medium5.3
CVE-2026-123369Package fixes recorded

compose-lint: Compose file text can issue GitHub Actions workflow commands through the compose-lint Action

The GitHub Actions runner treats certain text in a step's output as commands. The legacy form, ##[command], is recognized anywhere in a line. compose-lint's text report prints service names, environment keys and lines of the Compose file, and it does not neutralize ##[. Inside the compose-lint Action, a Compose file from a pull request can therefore:

Recorded fixes — tmatens/compose-lint: 0.31.0 or a6a7a76736de1c72abfa96c41ff8af556ffdc55f; compose-lint: 0.31.0. Check your release branch.

Exploitation not established

Affected range Recorded fix
Earlier releases before 0.31.0Ecosystem versions0.31.0

Version evidence: OSV · GHSA-6f4g-xm8v-pgv6

View original version evidence
{
  "ranges": [
    {
      "events": [
        {
          "introduced": "0"
        },
        {
          "fixed": "0.31.0"
        }
      ],
      "type": "ECOSYSTEM"
    }
  ],
  "versions": [
    "0.10.0",
    "0.11.0",
    "0.12.0",
    "0.12.1",
    "0.12.2",
    "0.13.0",
    "0.14.0",
    "0.14.1",
    "0.15.0",
    "0.15.1",
    "0.15.2",
    "0.16.0",
    "0.17.0",
    "0.18.0",
    "0.19.0",
    "0.2.0",
    "0.20.0",
    "0.21.0",
    "0.22.0",
    "0.23.0",
    "0.24.0",
    "0.25.0",
    "0.26.0",
    "0.27.0",
    "0.28.0",
    "0.29.0",
    "0.3.0",
    "0.3.2",
    "0.3.3",
    "0.3.4",
    "0.3.5",
    "0.3.6",
    "0.3.7",
    "0.30.0",
    "0.4.0",
    "0.4.1",
    "0.5.0",
    "0.5.1",
    "0.5.2",
    "0.6.0",
    "0.7.0",
    "0.7.1",
    "0.8.0",
    "0.9.0"
  ]
}
low3.1
CVE-2026-123368Package fixes recorded

compose-lint: .env read through a symlink outside the project can expose the CI job's environment

compose-lint fills in ${VAR} references from the .env file next to the Compose file. It is meant to read nothing outside the project directory, and env_file:, include: and extends: paths are checked for that. The .env read is not. If .env is a symlink, compose-lint follows it wherever it points.

Recorded fixes — compose-lint: 0.31.0; tmatens/compose-lint: 0.31.0 or a6a7a76736de1c72abfa96c41ff8af556ffdc55f. Check your release branch.

Exploitation not established

Affected range Recorded fix
From 0.22.0 before 0.31.0Ecosystem versions0.31.0

Version evidence: OSV · GHSA-6wcv-rj3c-mhv3

View original version evidence
{
  "ranges": [
    {
      "events": [
        {
          "introduced": "0.22.0"
        },
        {
          "fixed": "0.31.0"
        }
      ],
      "type": "ECOSYSTEM"
    }
  ],
  "versions": [
    "0.22.0",
    "0.23.0",
    "0.24.0",
    "0.25.0",
    "0.26.0",
    "0.27.0",
    "0.28.0",
    "0.29.0",
    "0.30.0"
  ]
}