Skip to main content

thefuck CVE-2026-95168

| EUVDEUVD-2026-105081 HIGH
Code Injection (CWE-94)
2026-10-20 mitre GHSA-m5cg-r367-67g4
7.8
CVSS 3.1 · Vendor: mitre
View

Attack ChainAIDerived

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

  1. Access
    Obtain local user access on host
  2. Exploit
    Plant malicious Python file in rules import path
  3. Execution
    thefuck loads rule via Rule.from_path
  4. Impact
    Arbitrary code executes with victim privileges

Vulnerability Assessment

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

2 techniques across 2 tactics: Execution, Initial Access

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

Exploitation Conditions

Exploitation requires local access and the ability to place or modify a Python rule file within a directory enumerated by get_rules_import_paths (thefuck's user/contrib rules import paths); the malicious code runs when the victim next invokes thefuck and Rule.from_path imports the file. Limiting factors: the attacker must already have a local foothold (AV:L) and write permission to a rules path, and code executes only with the privileges of the user running thefuck - meaningful privilege escalation requires a higher-privileged user to run thefuck against an attacker-writable path. No authentication beyond the low-privilege local account (PR:L) is required, and there is no network exposure. Affected version is thefuck v3.32; no fixed version is identified in the available data.

Impact

CVSS 3.1 base score is 7.8 (High) with vector AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H, indicating a locally-exploitable code-injection flaw (CWE-94) that requires low privileges but yields full confidentiality, integrity and availability impact. All exploitation signals point toward LOW real-world urgency despite the High CVSS: EPSS is only 0.16% (5th percentile), the CVE is NOT on CISA KEV, and there is no evidence of active exploitation. The MITRE references include a third-party vulnerability report (REYu6/python-vuln, '03-contrib-pregate-exec.md') and the upstream issue #1623, which suggests proof-of-concept/analysis material is publicly documented, but no weaponized or in-the-wild exploit is confirmed. The local attack vector (AV:L) is the dominant mitigating factor - an attacker already needs a foothold on the host, so this is an execution-in-context/escalation primitive rather than a remotely wormable threat. Net assessment: a legitimate but lower-priority issue for most environments, mattering most where thefuck runs in shared or privileged contexts. Note the CPE is a placeholder (cpe:2.3:a:n/a:n/a:*) and affected-version data is 'n/a', so automated matching against asset inventories will fail - verify the affected build (v3.32) manually.

Exploit ScenarioDerived

A local attacker who can write to one of thefuck's rule import paths (e.g. a user or contrib rules directory) plants a malicious Python rule file. When a victim subsequently runs the fuck command, thefuck enumerates paths via get_rules_import_paths and loads each rule through Rule.from_path, importing and executing the attacker-controlled code with the victim's privileges. A public vulnerability report referencing this behavior exists, and the local, low-complexity nature (AV:L/AC:L) makes exploitation reliable once write access to a rules path is obtained.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
No patch listed yet 0.2% exploitation probability (EPSS)

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

Alert me

AnalysisAIv1 – Oct 21, 2026

Local code execution in thefuck 3.32 allows an attacker with a low-privileged local account to run arbitrary Python code by planting or modifying a rule file in a directory searched by get_rules_import_paths, which Rule.from_path later imports when the victim invokes thefuck. The flaw is CWE-94 code injection with CVSS 3.1 score 7.8 (AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H), requiring local write access to a rules path; code runs with the privileges of the user running thefuck, so privilege escalation depends on a higher-privileged user executing the tool against an attacker-writable location. No public exploit code or confirmed active exploitation was identified at time of analysis, and EPSS is 0.16% (5th percentile).

RemediationAI

No vendor-released patch or fixed version is identified in the available data. Apply compensating controls: restrict write access to thefuck rule directories (the user and contrib paths enumerated by get_rules_import_paths) to trusted users only, recognizing that this may prevent legitimate custom rule authoring; avoid running thefuck with elevated privileges (for example, as root) when attacker-writable directories are in the import path, which limits impact but does not remove the flaw for unprivileged execution; audit existing rule files for unexpected Python code; and consider running thefuck in a sandbox or container with read-only rule directories, accepting that this may constrain normal rule customization. Monitor the upstream issue https://github.com/nvbn/thefuck/issues/1623 and the NVD entry https://nvd.nist.gov/vuln/detail/CVE-2026-95168 for a patched release.

Affected VersionsENISA

n/a n/a

Affects your stack

Find out whether the stacks and servers you run are on an affected version.

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

Technical ContextAI · show details

thefuck is a command-line utility that suggests and applies corrections to mistyped shell commands, loading correction logic from Python rule files. The get_rules_import_paths function in thefuck/corrector.py enumerates directories from which rules are imported, and Rule.from_path in thefuck/types.py dynamically imports a rule file from those paths. Because the import path can include user-writable or contrib directories, an attacker who can create or modify a Python file in such a location can cause arbitrary code to execute when thefuck is next run. This is a classic CWE-94 code injection issue: untrusted Python source is imported without adequate integrity controls. The supplied CPE string is generic (cpe:2.3:a:n/a:n/a:*:*:*:*:*:*:*:*) and does not identify a specific vendor/product, but the description and EUVD entry tie the issue to nvbn thefuck v3.32. The CVSS vector confirms local access (AV:L), low privileges (PR:L), no user interaction (UI:N), and high confidentiality, integrity, and availability impact.

Know when N A 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 (mitre) PRIMARY 7.8 HIGH
AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
vuln.today AI 7.8 HIGH

Local attacker needs low-priv write access to a rules import path (AV:L/PR:L/AC:L); loaded code runs arbitrary Python with the victim's privileges, giving full C/I/A impact within an unchanged scope.

3.1 AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
4.0 AV:L/AC:L/AT:N/PR:L/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N

Primary rating from Vendor (mitre).

CVSS VectorVendor: mitre

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

Lifecycle Timeline

3
CVSS changed
Oct 21, 2026 - 20:39 NVD
7.8 (HIGH)
CVE Published
Oct 20, 2026 - 00:00 cve.org
HIGH 7.8
CVE Published
Oct 20, 2026 - 00:00 cve.org
UNKNOWN (no severity yet)

DescriptionCVE.org

An issue in nvbn thefuck v.3.32 allows a local attacker to execute arbitrary code via the get_rules_import_paths in thefuck/corrector.py and Rule.from_path in thefuck/types.py

Executive ViewAI

Why It Matters

thefuck 3.32, a command-line correction utility used interactively by engineers, contains a local code-injection flaw that allows anyone able to write into a directory the tool searches for rule files to execute arbitrary Python under the account of the person who runs it. Exposure is concentrated on shared developer workstations, jump hosts and CI images where multiple accounts coexist, since a low-privileged user could plant a rule file that runs when a more privileged operator later invokes the tool. With no vendor patch available and a low exploitation likelihood score, this is a contained insider and shared-host risk rather than an internet-facing emergency, but it warrants ownership because it can convert basic local file-write access into code execution on engineering endpoints.

Business Impact: Medium
Compensating Controls

No vendor-released patch identified at time of analysis. Interim mitigations: restrict write access to all directories searched by get_rules_import_paths (owner-only permissions, root-owned rules directory, no /tmp or world-writable rule paths); prevent privileged or service accounts from invoking thefuck; hash-baseline and monitor rule files for unauthorized creation or modification; remove thefuck from shared, multi-tenant and CI environments until a fixed release is available; where the tool must be retained, launch it through a wrapper that pins the rule search path to a single administrator-controlled read-only location.

Threat Intelligence Overview

EPSS Score
0.2%
Top 95% exploitable
Prevalence
Medium
very popular developer CLI utility, but a workstation tool not production server software
Data Quality
5 sources
Confidence: Medium

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.2%
Patch available No
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· derived
Defer
Exploitation· derived
None
System Exposure· derived
Small
Automatable· derived
No
Human Impact
Medium

Priority Score

39
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +39
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.

Remote Code Execution represents the critical moment when an attacker successfully runs arbitrary code on a target system without physical access.

More in N A

View all
CVE-2024-51092 CRITICAL POC
9.1 May 08

LibreNMS before 24.10.0 allows a remote attacker to execute arbitrary code via OS command injection involving AboutContr

CVE-2025-15684 MEDIUM POC
5.5 Aug 12

Reachable assertion in Open5GS up to version 2.7.6 allows remote unauthenticated attackers to crash the Diameter CER han

CVE-2024-45257 HIGH POC
7.3 May 08

A Command Injection issue in the payload build page in BYOB (Build Your Own Botnet) 2.0 allows attackers to execute arbi

CVE-2025-15687 LOW POC
2.1 Aug 12

Denial of service in Open5GS 2.7.6 and earlier allows network-adjacent attackers with low-privilege Diameter Gx peer acc

CVE-2025-15686 LOW POC
2.1 Aug 12

Denial of service in Open5GS HSS (Home Subscriber Server) versions 2.7.0 through 2.7.6 is triggered remotely by manipula

CVE-2025-67888 HIGH POC
7.3 May 08

Remote command injection in Control Web Panel allows unauthenticated attackers to execute arbitrary OS commands as root

CVE-2024-53326 HIGH POC
7.3 May 08

LINQPad before 5.52.01 Pro edition is vulnerable to Unsafe Deserialization in LINQPad.AutoRefManager::PopulateFromCache(

CVE-2026-38360 CRITICAL POC
9.8 May 08

Remote code execution in dash-uploader (Python package for Plotly Dash) versions 0.1.0 through 0.7.0a2 allows unauthenti

CVE-2026-30623 CRITICAL POC
9.8 Jul 15

Command injection in LiteLLM 1.18.10 lets attackers who can configure MCP (Model Context Protocol) servers supply arbitr

CVE-2026-67917 CRITICAL POC
9.8 Aug 17

SQL injection in AzuraCast's backup restore flow (versions up to and including 0.23.7) lets an attacker achieve privileg

CVE-2026-75337 CRITICAL POC
9.8 Aug 27

Arbitrary file read in Yu AI Code Mother v4.3 lets anonymous, remote attackers retrieve files outside the intended previ

CVE-2026-31072 CRITICAL POC
9.8 May 19

Remote code execution in APScheduler (all versions through 3.10.x and 4.0.0a5) is achievable when applications deseriali

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