Security Digest · Vulnerability record
CVE-2026-55158: conflibot vulnerable to command injection via crafted pull request branch names under pull_request_target
Conflibot warns in advance when merging a pull request will cause conflicts in other open pull requests.
CVSS 9.1 Critical EPSS 0.8% · p56
Should you act?
Critical and remotely reachable
No known exploitation yet, but it is network-reachable without credentials. This signal is computed from CISA KEV, EPSS and CVSS data; it is not an editorial verdict.
- No confirmed exploitation. It is not in CISA’s KEV catalog and CISA’s SSVC assessment records no known exploitation. That can change quickly after a public write-up; re-check if you are affected.
- EPSS 0.8%, percentile 56: FIRST’s model estimates a 0.8% chance of exploitation activity in the next 30 days, higher than 56% of all scored CVEs (moderate). EPSS is a probability, not a verdict.
- Remotely reachable with no login and no user interaction. If the vulnerable service is exposed to the internet, prioritize it.
- Only applies if your dependency tree includes
wktk/conflibot(GitHub Actions) < 1.2.1, fixed in 1.2.1. Check your lockfile, including transitive dependencies.
What it is
Conflibot warns in advance when merging a pull request will cause conflicts in other open pull requests. Prior to 1.2.1, src/index.ts builds git checkout, git merge, and git format-patch commands by interpolating the attacker-controlled pull request head.ref value into strings passed to exec. In the documented pullrequesttarget configuration, an attacker can open a pull request, including from a fork, whose branch name contains shell metacharacters, and the workflow automatically interprets those characters as commands without maintainer interaction. The commands execute on a runner with base-repository secrets and a write-scoped GITHUBTOKEN, allowing arbitrary command execution, secret or token exfiltration, unauthorized pushes, and other token abuse. The fixed implementations in src/index.ts and src/conflibot.ts use execFile or spawn argument arrays, and the v2 line also uses numeric pull-request refs rather than branch names. This issue is fixed in versions 1.2.1 and 2.0.0.
From the GitHub advisory
Impact
Versions of conflibot before 1.2.1 build git commands by string interpolation and run them through a shell. Several of the interpolated values are pull request branch names (head.ref), which are attacker-controlled: anyone can open a pull request (including from a fork) whose head branch name contains shell metacharacters such as , $( ), ;, |, or &.
The recommended workflow runs conflibot on the pullrequesttarget event, where the job has access to the base repository's secrets and a write-scoped GITHUBTOKEN. As a result, a crafted branch name causes arbitrary command execution on the runner with that write token in the environment, allowing an attacker to exfiltrate secrets and the token, push to the repository, or otherwise abuse the token's permissions. No special privileges and no maintainer interaction are required — the action runs automatically when the pull request is opened.
Affected configurations
Any workflow using wktk/conflibot at a version earlier than 1.2.1. The risk is highest under pullrequesttarget (the documented configuration), because that is where the write token and secrets are exposed to attacker-influenced refs.
Weakness type: CWE-78.
Product: wktk/conflibot (GitHub Actions) · Assigned by: GitHub_M · Published: 2026-09-15
Affected and fixed versions
| Ecosystem | Package | Vulnerable | First fixed |
|---|---|---|---|
| GitHub Actions | wktk/conflibot | < 1.2.1 | 1.2.1 |
| Vendor | Product | Affected versions (per CVE record) |
|---|---|---|
| wktk | conflibot | < 1.2.1 |
Severity scores
| Scored by | CVSS | Score | Vector |
|---|---|---|---|
| GitHub_M | 3.1 | 9.1 Critical | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N |
| GitHub | 3.1 | 9.1 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N |
- Attack vector: network (remotely reachable)
- Attack complexity: low
- Privileges required: none (no login)
- User interaction: none
- Scope: unchanged
CVSS measures how bad a flaw is if exploited, not how likely exploitation is. Read it next to the exploitation data below.
Exploitation and urgency
- CISA KEV: not listed (no confirmed in-the-wild exploitation known to CISA).
- CISA SSVC assessment: exploitation none, automatable yes, technical impact total.
- FIRST EPSS (model of 2026-10-21): 0.80% probability of exploitation activity in the next 30 days; percentile 56.
Timeline
- — GitHub-reviewed advisory GHSA-2qvg-qr73-mqxp published (critical)
- — CVE record published by GitHub_M
- — CVE record last updated
Sources and references
Original sources first. Version and fix details should always be confirmed against the vendor or project advisory.
Vulnerability records
- GitHub Advisory GHSA-2qvg-qr73-mqxp github.com
- CVE.org record CVE-2026-55158 cve.org
- NVD entry CVE-2026-55158 nvd.nist.gov
Other references from the CVE record and advisory
- github.com github.com
- github.com github.com
- github.com github.com
- github.com github.com
- github.com github.com
- github.com github.com
- github.com github.com
- github.com github.com
Critical GitHub Actions advisories · Today’s Security Digest