Cyber Resilience

CVE-2025-69257

LPE

Published
30 December 2025
Modified
15 April 2026
CVSS Score v3.1 6.7
Click a component to see what it means
Raw vectorCVSS:3.1/AV:L/AC:H/PR:L/UI:R/S:U/C:H/I:H/A:H
EPSS Score 0.0012 2th percentile
Risk Priority 45 floored blend · peak EPSS

Summary

CVE-2025-69257 is a medium-severity Improper Privilege Management (CWE-269) vulnerability. Its CVSS base score is 6.7 (Medium).

Operationally, exploitation aligns with the MITRE ATT&CK technique Exploitation for Privilege Escalation (T1068); ranked at the 2th percentile by exploit likelihood (below the median); it is not currently listed in the CISA KEV catalog.

The strongest mitigations our analysis identified map to AC-3 (Access Enforcement) and SI-7 (Software, Firmware, and Information Integrity) — see the control section below for these in your framework.

OWASP Top 10 for Web (2025)

EU & UK References

Vulnerability Data

theshit is a command-line utility that automatically detects and fixes common mistakes in shell commands. Prior to version 0.1.1, the application loads custom Python rules and configuration files from user-writable locations (e.g., `~/.config/theshit/`) without validating ownership or permissions when executed…

more

with elevated privileges. If the tool is invoked with `sudo` or otherwise runs with an effective UID of root, it continues to trust configuration files originating from the unprivileged user's environment. This allows a local attacker to inject arbitrary Python code via a malicious rule or configuration file, which is then executed with root privileges. Any system where this tool is executed with elevated privileges is affected. In environments where the tool is permitted to run via `sudo` without a password (`NOPASSWD`), a local unprivileged user can escalate privileges to root without additional interaction. The issue has been fixed in version 0.1.1. The patch introduces strict ownership and permission checks for all configuration files and custom rules. The application now enforces that rules are only loaded if they are owned by the effective user executing the tool. When executed with elevated privileges (`EUID=0`), the application refuses to load any files that are not owned by root or that are writable by non-root users. When executed as a non-root user, it similarly refuses to load rules owned by other users. This prevents both vertical and horizontal privilege escalation via execution of untrusted code. If upgrading is not possible, users should avoid executing the application with `sudo` or as the root user. As a temporary mitigation, ensure that directories containing custom rules and configuration files are owned by root and are not writable by non-root users. Administrators may also audit existing custom rules before running the tool with elevated privileges.

CWE(s)

Related Threats

MITRE ATT&CK Enterprise TechniquesAI

T1068 Exploitation for Privilege Escalation Privilege Escalation
Adversaries may exploit software vulnerabilities in an attempt to elevate privileges.
Why these techniques?

Vulnerability allows local unprivileged user to inject and execute arbitrary Python code with root privileges via untrusted config/rules when tool is run via sudo, directly enabling exploitation for privilege escalation.

Confidence: HIGH · MITRE ATT&CK Enterprise v19.0

CVEs Like This One

CVE-2026-61062Shared CWE-269, CWE-284
CVE-2026-50563Shared CWE-269, CWE-284
CVE-2026-61055Shared CWE-269, CWE-284
CVE-2026-16365Shared CWE-269, CWE-284
CVE-2026-60837Shared CWE-269, CWE-284
CVE-2026-5141Shared CWE-269, CWE-284
CVE-2026-60371Shared CWE-269, CWE-284
CVE-2026-9789Shared CWE-269, CWE-284
CVE-2026-9489Shared CWE-269, CWE-284
CVE-2026-8069Shared CWE-269, CWE-284

Affected Assets

Mitigating Controls

Control response

Prevent
Stop it (NIST 800-53)
  • AC-3 Access Enforcement
  • SI-7 Software, Firmware, and Information Integrity
  • CM-5 Access Restrictions for Change
Detect
Catch it (NIST detect / respond)

Harden
Shrink the surface (DISA STIG)
  • 19 hardening rules · 10 OS baselines
Validate
Prove the fix (OWASP ASVS)
  • V14.2.3
  • V10.3.5
  • V3.5.6
  • V9.1.3

Mitigating Controls (NIST 800-53 r5) AI

prevent

Directly enforces ownership/permission checks so that only root-owned, non-world-writable rules are loaded when EUID=0, blocking the malicious Python injection path.

prevent

Requires verification of information integrity (file ownership and permissions) before loading user-supplied rules or configuration, exactly the check added in the 0.1.1 patch.

prevent

Restricts modification of configuration files and rules to authorized principals, preventing an unprivileged user from planting code that will later be executed under root.

Mitigating Controls (NIST CSF 2.0) AI

Derived directly from the weakness types (CWEs) cited in the NVD entry via our AI-authored CWE→CSF cross-walk (authority under review) — links open the control.

ID.RA-09 full match
prevents

Pre-acquisition integrity/authenticity checks directly prevent inclusion of untrusted code.

GV.SC-01 mostly match
prevents

Supply-chain program directly governs inclusion of third-party executable code.

GV.SC-05 mostly match
prevents

Contractual requirements can mandate trusted sources and integrity checks for included functionality.

GV.SC-07 mostly match
prevents

Supplier risk assessment explicitly covers risks from their products and libraries.

ID.RA-10 mostly match
prevents

Critical-supplier assessment reduces risk of importing executable functionality from untrusted parties.

PR.AA-05 mostly match
prevents

PR.AA-05 enforces least privilege/SoD and periodic reviews that directly remove most privilege-assignment defects, yet CWE-269 also covers escalation paths and role design outside a single access-management control.

Mitigating Controls (ISO/IEC 27001:2022 Annex A) AI

Derived directly from the weakness types (CWEs) cited in the NVD entry via our AI-authored CWE→ISO cross-walk (authority under review) — links open the control.

prevents

Defining and enforcing explicit access rights and restrictions for each entity directly stops the assignment of permissions that exceed what is required, eliminating the root condition that allows improper access control.

prevents

Formal authorization, role-based provisioning, and timely revocation of access rights directly stop the creation of accounts or permissions that exceed what the business actually needs.

prevents

By enforcing explicit rules on which identities or groups may perform read, write, delete or execute operations and by denying anonymous access to sensitive data, the control directly stops the creation of overly permissive or missing access-control checks.

prevents

Requiring one-to-one mapping of identities to entities and timely removal of unused identities directly stops attackers from leveraging stale or shared accounts to bypass access restrictions.

prevents

By requiring suppliers to propagate security requirements and to disclose component provenance, the control limits the inclusion of functionality obtained from untrusted third-party sources without oversight.

prevents

By explicitly transferring security roles and responsibilities when personnel change jobs or leave, the control reduces the chance that former employees retain access rights they no longer need, thereby limiting improper access control.

References