Cyber Resilience

CVE-2025-27607

Nhairs Python Json Logger ≤ 3.3.0

Public PoC
Published
07 March 2025
Modified
01 July 2025
Patch / advisory
CVSS Score v3.1 8.8
Click a component to see what it means
Raw vectorCVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H
EPSS Score 0.016 73th percentile
Risk Priority 77 floored blend · peak EPSS

Summary

CVE-2025-27607 is a high-severity Inclusion of Functionality from Untrusted Control Sphere (CWE-829) vulnerability in Nhairs Python Json Logger. Its CVSS base score is 8.8 (High).

Operationally, exploitation aligns with the MITRE ATT&CK technique Supply Chain Compromise (T1195); ranked in the top 27% of CVEs by exploit likelihood; it is not currently listed in the CISA KEV catalog; a public proof-of-concept is referenced.

The strongest mitigations our analysis identified map to SR-4 (Provenance) and SR-11 (Component Authenticity) — see the control section below for these in your framework.

Deeper analysis AI-assisted summary

Synthesised by an AI model from the NVD description and linked references — a reading aid, not an authoritative source.

Python JSON Logger, a JSON formatter for Python logging, contained a remote code execution vulnerability between 30 December 2024 and 4 March 2025. The flaw arose because the msgspec-python313-pre dependency was removed by its owner, leaving its name available for takeover on PyPI; any installation of development dependencies on Python 3.13 (for example, pip install python-json-logger[dev]) would then pull in attacker-controlled code.

An unauthenticated attacker who registered the orphaned package name could execute arbitrary code on affected systems during dependency resolution. The attack requires the victim to explicitly request the optional dev extras and targets only Python 3.13 environments, resulting in full compromise of confidentiality, integrity, and availability.

The project addressed the issue in release 3.3.0 through changes that eliminate reliance on the deleted package, as documented in the accompanying GitHub security advisory and the commits that updated dependency declarations. The EPSS score has remained flat at its peak value of 0.2176 with no material increase observed after disclosure.

OWASP Top 10 for Web (2025)

EU & UK References

Vulnerability Data

Python JSON Logger is a JSON Formatter for Python Logging. Between 30 December 2024 and 4 March 2025 Python JSON Logger was vulnerable to RCE through a missing dependency. This occurred because msgspec-python313-pre was deleted by the owner leaving the…

more

name open to being claimed by a third party. If the package was claimed, it would allow them RCE on any Python JSON Logger user who installed the development dependencies on Python 3.13 (e.g. pip install python-json-logger[dev]). This issue has been resolved with 3.3.0.

CWE(s)

Related Threats

MITRE ATT&CK Enterprise Techniques

T1195 Supply Chain Compromise Initial Access
Adversaries may manipulate products or product delivery mechanisms prior to receipt by a final consumer for the purpose of data or system compromise.
T1176 Software Extensions Persistence
Adversaries may abuse software extensions to establish persistent access to victim systems.
T1195.001 Compromise Software Dependencies and Development Tools Initial Access
Adversaries may manipulate software dependencies and development tools prior to receipt by a final consumer for the purpose of data or system compromise.
T1505.004 IIS Components Persistence
Adversaries may install malicious components that run on Internet Information Services (IIS) web servers to establish persistence.
T1505.005 Terminal Services DLL Persistence
Adversaries may abuse components of Terminal Services to enable persistent access to systems.
T1574.006 Dynamic Linker Hijacking Stealth
Adversaries may execute their own malicious payloads by hijacking environment variables the dynamic linker uses to load shared libraries.
Derived from this CVE’s CWE(s) via the direct CWE→ATT&CK cross-walk.

CVEs Like This One

CVE-2026-47172Shared CWE-829
CVE-2024-31144Shared CWE-829
CVE-2026-6357Shared CWE-829
CVE-2023-33559Shared CWE-829
CVE-2024-48336Shared CWE-829
CVE-2024-45482Shared CWE-829
CVE-2026-1699Shared CWE-829
CVE-2026-54325Shared CWE-829
CVE-2026-64811Shared CWE-829
CVE-2026-45184Shared CWE-829

Affected Assets

nhairs
python json logger
≤ 3.3.0

Mitigating Controls

Control response

Prevent
Stop it (NIST 800-53)

Detect
Catch it (NIST detect / respond)

Harden
Shrink the surface (DISA STIG)
  • 6 hardening rules · 6 OS baselines
Validate
Prove the fix (OWASP ASVS)
  • V14.2.3
  • V3.5.6
  • V9.1.3
  • V15.3.2

Mitigating Controls (NIST 800-53 r5) AI

Requires documented, valid provenance for components, preventing acceptance of code from outside the trusted sphere.

Implements detection and prevention of counterfeit or inauthentic components before they are integrated.

Establishes processes to identify and address supply-chain weaknesses that would allow untrusted functionality.

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.PS-06 mostly match
prevents

Secure SDLC practices include dependency vetting and trusted-source policies.

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

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.

none

Blocking domains that serve malware or untrusted scripts prevents the browser from automatically including functionality from an attacker-controlled source.

Hardening callouts derived

Configuration rules from DISA STIG baselines that bear on weaknesses of the type cited by this CVE. Each rule is shown with the relationship its mapping actually records, against the CWE it was authored against. Derived via CVE→CWE over `controls_xwalks` (authoritative rows only; rows rated `none` are excluded).

Oracle Linux 8 (1 rule)
  • V-248635 Executable search paths within the initialization files of all local interactive OL 8 users must only contain paths that resolve to the system default or the user's home directory. prevents CWE-829
Oracle Linux 9 (1 rule)
  • V-271847 OL 9 must be configured so that executable search paths within the initialization files of all local interactive users must only contain paths that resolve to the system default or the users home directory. prevents CWE-829
RHEL 7 (1 rule)
  • V-204477 The Red Hat Enterprise Linux operating system must be configured so that all local interactive user initialization files executable search paths contain only paths that resolve to the users home directory. prevents CWE-829
RHEL 8 (1 rule)
  • V-230317 Executable search paths within the initialization files of all local interactive RHEL 8 users must only contain paths that resolve to the system default or the users home directory. prevents CWE-829
RHEL 9 (1 rule)
  • V-258050 Executable search paths within the initialization files of all local interactive RHEL 9 users must only contain paths that resolve to the system default or the users home directory. prevents CWE-829
Windows 10 (1 rule)
  • V-220737 Administrative accounts must not be used with applications that access the Internet, such as web browsers, or with potential Internet sources, such as email. prevents CWE-829

References