Skip to main content
CVE Vulnerability Database
Vulnerability Database/CVE-2025-55671

CVE-2025-55671: TkEasyGUI RCE Vulnerability

CVE-2025-55671 is a remote code execution vulnerability in TkEasyGUI caused by an uncontrolled search path element. Attackers can execute arbitrary code with program privileges. Learn about affected versions and mitigation.

Published:

CVE-2025-55671 Overview

CVE-2025-55671 is an uncontrolled search path element vulnerability [CWE-427] in TkEasyGUI, a Python library for building Tkinter-based graphical interfaces. The flaw affects all versions of TkEasyGUI prior to v1.0.22. An attacker who can place a malicious file in a directory searched by the application can achieve arbitrary code execution under the privileges of the user running the program. The issue is documented in JVN Security Advisory JVN48739895 and fixed in GitHub Release v1.0.22.

Critical Impact

Local attackers can execute arbitrary code with the privileges of the user running any application built on a vulnerable TkEasyGUI version.

Affected Products

  • TkEasyGUI Python library, all versions prior to v1.0.22
  • Python applications that bundle or depend on vulnerable TkEasyGUI releases
  • Windows environments where DLL or module search paths include user-writable directories

Discovery Timeline

  • 2025-09-05 - CVE-2025-55671 published to NVD
  • 2026-06-17 - Last updated in NVD database

Technical Details for CVE-2025-55671

Vulnerability Analysis

The vulnerability is classified as an uncontrolled search path element [CWE-427]. TkEasyGUI loads dependencies or auxiliary files without fully qualifying the path used during resolution. When the runtime search path includes directories the attacker controls, a malicious payload with a matching name is loaded in place of the legitimate component. Code execution then occurs in the context of the calling Python process.

The attack vector is local and requires user interaction, typically the launch of a TkEasyGUI-based application from a directory that contains an attacker-supplied file. Successful exploitation grants the attacker the same privileges as the launched application, including access to files, network sessions, and credentials available to that user.

Root Cause

The root cause is reliance on the operating system's default search order when resolving libraries, modules, or executables. The library does not pin lookups to a trusted absolute path, so any writable directory earlier in the search order becomes a viable injection point. On Windows, this commonly manifests as DLL search order hijacking; on POSIX systems, comparable issues arise through PATH, LD_LIBRARY_PATH, or PYTHONPATH manipulation.

Attack Vector

An attacker stages a malicious DLL, Python module, or executable with the expected filename in a directory consulted before the legitimate location. When a user launches a program that depends on TkEasyGUI from that working directory, or via a shortcut that sets it as the current directory, the planted file loads first. Refer to the JVN Security Advisory JVN48739895 for vendor confirmation of the exploitation conditions.

No public proof-of-concept exploit is available. The vulnerability mechanism is described in prose because no verified exploitation code has been published.

Detection Methods for CVE-2025-55671

Indicators of Compromise

  • Unexpected DLL, .pyd, or .py files in application working directories or user download folders that match names of TkEasyGUI or Tkinter dependencies.
  • Python processes spawning child processes such as cmd.exe, powershell.exe, or /bin/sh shortly after GUI application launch.
  • Outbound network connections originating from Python interpreters running TkEasyGUI-based applications without a known business reason.

Detection Strategies

  • Inventory installed Python environments and flag any TkEasyGUI package with a version lower than 1.0.22 using pip show tkeasygui or SBOM tooling.
  • Monitor module load events for Python processes and alert when modules load from user-writable paths instead of site-packages directories.
  • Hunt for file writes to directories that are also used to launch Python GUI applications, especially filenames matching known dependencies.

Monitoring Recommendations

  • Enable command-line and module-load logging for Python interpreters across endpoints handling untrusted files.
  • Correlate file creation events with subsequent Python process executions in the same directory within a short time window.
  • Track outbound network telemetry from Python processes and baseline expected destinations for legitimate TkEasyGUI applications.

How to Mitigate CVE-2025-55671

Immediate Actions Required

  • Upgrade TkEasyGUI to v1.0.22 or later in every Python environment using pip install --upgrade tkeasygui.
  • Audit deployed applications and frozen Python builds (PyInstaller, cx_Freeze) for bundled copies of vulnerable TkEasyGUI releases and rebuild them.
  • Restrict write permissions on directories used to launch TkEasyGUI-based applications, eliminating user-writable working directories.

Patch Information

The maintainer addressed the uncontrolled search path issue in GitHub Release v1.0.22. All earlier versions remain vulnerable and must be replaced. Verify the installed version with pip show tkeasygui after upgrade.

Workarounds

  • Launch TkEasyGUI applications only from trusted, non-writable directories until patching is complete.
  • Remove user-writable paths from PATH, PYTHONPATH, and equivalent search variables on systems running affected applications.
  • Apply application allowlisting to block execution of unsigned DLLs and Python modules loaded from temporary or download directories.
bash
# Upgrade TkEasyGUI to the patched release
pip install --upgrade "tkeasygui>=1.0.22"

# Verify the installed version
pip show tkeasygui | grep -i version

Disclaimer: This content was generated using AI. While we strive for accuracy, please verify critical information with official sources.

Default Legacy - Prefooter | Experience the World’s Most Advanced Cybersecurity Platform

Experience the Most Advanced Cybersecurity Platform

See how the world’s most intelligent, autonomous cybersecurity platform can protect your organization today and into the future.