Junglewise Threat Intelligence

CVE-2026-55158: conflibot command injection in pull request branch names

CVE-2026-55158 · Severity: critical · CVSS 9.1 · Published 2026-08-17

Executive brief

conflibot is a GitHub Actions workflow tool that automatically detects merge conflicts in pull requests. Versions before 1.2.1 construct git commands by concatenating user-controlled pull request branch names into shell commands without sanitization. An attacker can open a pull request with a malicious branch name containing shell metacharacters to execute arbitrary commands on the runner, potentially exfiltrating repository secrets and write-scoped tokens or pushing malicious code to the repository.

Technical details

conflibot is vulnerable to OS command injection (CWE-78) in git command construction. The action builds git commands via string interpolation of pull request branch names (head.ref) and executes them through a shell, allowing shell metacharacters (backticks, $(), ;, |, &) in branch names to be interpreted as command syntax. Under the recommended pull_request_target event workflow, the job runs with write-scoped GITHUB_TOKEN and repository secrets in the environment, making the attack highly impactful. Exploitation requires only opening a pull request with a crafted branch name—no special privileges or user interaction is needed. The fix (v1.2.1 and v2.0.0) eliminates the shell by using execFile/spawn with argument arrays, ensuring branch names are treated as literal data. v2.0.0 additionally references pull requests by number through refs/pull/<n>/head instead of branch names.

Affected products

  • wktk conflibot < 1.2.1

Timeline

  • 2026-06-10: disclosed: Published to GitHub Advisory Database as GHSA-2qvg-qr73-mqxp
  • 2026-06-11: patched: Fixed in v1.2.1 and v2.0.0; commits 59e255c and 0107ac6

References