CVE-2026-55158 json
Conflibot: Command injection via crafted pull request branch names under pull_request_target
published 2026-08-17 2 mo ago modified 2026-09-29 40 d ago also EUVD-2026-78769 , GHSA-2qvg-qr73-mqxp
- cvss
- 9.1
- version 3.1, CNA
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 0.8%
- EPSS 0.8% chance of exploitation in 30 days, percentile 56%
- public exploits
- 0
- none known
Summary
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 pull_request_target 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 GITHUB_TOKEN, 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.
Patch / fix
- github-actions wktk/conflibot 1.2.1
- github.com/wktk/conflibot@0107ac6 commit
- github.com/wktk/conflibot@59e255c commit
- github.com/wktk/conflibot@0107ac6 commit
- github.com/wktk/conflibot@59e255c commit
- github.com/wktk/conflibot#329 pull request
- github.com/wktk/conflibot/releases/tag/v1.2.1 release
- github.com/wktk/conflibot/releases/tag/v2.0.0 release
CISA SSVC
- Exploitation
- none
- Automatable
- yes
- Technical impact
- total
- Assessed
- 52 d ago
Exploit prediction
0.80% chance of exploitation in the next 30 days, higher than 56% of all scored CVEs (FIRST EPSS, 2026-11-08).
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CNA | 3.1 | 9.1 | 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 |
Affected packages
| ecosystem | package | affected | fixed in |
|---|---|---|---|
| github-actions | wktk/conflibot | <1.2.1 |
1.2.1 |
Affected products
- wktk conflibot
Classification
- Weakness
-
- CWE-78 Improper Neutralization of Special Elements used in an OS Command
References
- github.com /wktk/conflibot/pull/329
- github.com /wktk/conflibot/commit/0107ac6a4575ea200d0b92287ea58f975be9505d
- github.com /wktk/conflibot/commit/59e255c49c920fd6b67471ab9ef3bf194439a3f2
-
github.com
/wktk/conflibot/commit/0107ac6
web
-
github.com
/wktk/conflibot/commit/59e255c
web
-
github.com
/wktk/conflibot/security/advisories/GHSA-2qvg-qr73-mqxp
web
-
github.com
/wktk/conflibot/releases/tag/v1.2.1
web
-
github.com
/wktk/conflibot/releases/tag/v2.0.0
web
-
github.com
/wktk/conflibot
package
Sources
- CVE List CVE-2026-55158
- GitHub Advisory GHSA-2qvg-qr73-mqxp
- NVD CVE-2026-55158
Fencer Vulns keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.