Fork pull request runs code with elevated token in Monkeytype CI
Key facts
- Attack vector
- Network
- Privileges required
- None
- User interaction
- Required
- Attack complexity
- Low
- Impact type
- Code execution
- Confidentiality · integrity · availability
- High · High · None
- Fix status
- Fixed
Attack profile from CVSS 3.1 · CNA. Fix status from CNA. Impact type from CWE-829.
Summary
Monkeytype before 26.43.0 runs its fix-formatting.yml workflow on pull_request_target with write permissions and checks out fork pull requests. The checkout keeps the elevated GITHUB_TOKEN in Git configuration while fork code runs (CWE-829), so an external contributor with the format label can run arbitrary code. That code can read the token and push repository content or modify pull requests and issues. The flaw affects the CI workflow, not the application or user data.
Written with Claude Haiku 5.5 from the sources below · 2026-11-06
Description from the CNA
Monkeytype is a minimalistic and customizable typing test. Prior to 26.43.0, the .github/workflows/fix-formatting.yml workflow runs on pull_request_target with repository write permissions, checks out a fork pull request, installs dependencies from the fork's package.json, and invokes the fork-controlled oxfmt binary. Because actions/checkout persists the elevated GITHUB_TOKEN in Git configuration until after untrusted code executes, an external contributor whose pull request receives the format label can run arbitrary code, read or exfiltrate the token, and push repository content or modify pull requests and issues. The issue affects the repository CI workflow, not the Monkeytype application or user data. This issue is fixed in version 26.43.0.
Why it matters now
SSVC decision points
CISA ADP · SSVC 2.0.3
- Exploitation
- Poc
- Automatable
- No
- Technical impact
- Total
The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.
Affected products
| Vendor | Product | Affected versions | Fixed in | Status | Source |
|---|---|---|---|---|---|
| monkeytypegame | monkeytype | before 26.43.0 | 26.43.0 | Patch available | CNA |
- monkeytype Vendormonkeytypegame Affected before 26.43.0 Fixed in 26.43.0 Patch available CNA
CPE names Threatist (inferred) · 1
Inferred from how NVD named this product before; not given by a source.
| CPE | Versions | Role | Vendor |
|---|---|---|---|
| cpe:2.3:a:monkeytype:monkeytype:*:*:*:*:*:*:*:* | — | — | monkeytypegame |
- cpe:2.3:a:monkeytype:monkeytype:*:*:*:*:*:*:*:* Versions — — ·monkeytypegame
Remediation
Upgrade Monkeytype to version 26.43.0, which fixes the flaw.
Written with Claude Haiku 5.5 from the sources below · 2026-11-06
- Fix · CNA monkeytype (monkeytypegame) Fixed in 26.43.0
Vendor assessments
Timeline
- 2026-10-29 Threatist record created from CVE-2026-118762
- 2026-11-04 CISA SSVC decision points changed
- 2026-11-04 Priority changed: MEDIUM → HIGH
- 2026-11-06 Affected versions changed · Red Hat
- 2026-11-06 CVSS score added · Red Hat
References
More monkeytypegame vulnerabilities
- TI-2024-27479 Injection in monkeytypegame monkeytype CVSS 3.1CRITICAL 9.6
- TI-2025-40974 Monkeytype vulnerable to stored XSS in approve quotes page CVSS 4.0HIGH 7.1
- TI-2026-48535 Authentication bypass by spoofing in monkeytypegame monkeytype CVSS 3.1HIGH 7.5
- TI-2025-37277 Monkeytype Vulnerable to Self-XSS on loading saved custom text CVSS 4.0LOW 2.4
Sources
- CVE-2026-118762 · CVE Program
- CVE-2026-118762 · NVD
- FIRST EPSS
- CVE-2026-118762 · Red Hat security data · CC BY 4.0
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences