Cyber Posture

CVE-2025-54387

CriticalPublic PoC

Published: 05 August 2025

Published
05 August 2025
Modified
09 October 2025
KEV Added
Patch
CVSS Score 9.8 CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
EPSS Score 0.0032 54.9th percentile
Risk Priority 20 60% EPSS · 20% KEV · 20% CVSS

Summary

CVE-2025-54387 is a critical-severity Path Traversal (CWE-22) vulnerability in Unjs Ipx. Its CVSS base score is 9.8 (Critical).

Operationally, exploitation aligns with the MITRE ATT&CK technique Exploit Public-Facing Application (T1190); ranked in the top 45.1% 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 are NIST 800-53 AC-6 (Least Privilege) and SI-2 (Flaw Remediation).

Threat & Defense at a Glance

What attackers do: exploitation maps to Exploit Public-Facing Application (T1190) and 1 other technique. What defenders deploy: see the NIST 800-53 controls recommended below.
Threat & Defense Details

Mitigating Controls (NIST 800-53 r5)AI

prevent

SI-2 mandates identification, reporting, and correction of system flaws like this path traversal vulnerability, directly requiring updates to fixed IPX versions 1.3.2, 2.1.1, or 3.1.1.

prevent

AC-6 enforces least privilege for processes, confining the IPX image optimizer to only authorized directories and preventing unauthorized access to files outside allowed paths even if traversal occurs.

MITRE ATT&CK Enterprise TechniquesAI

T1190 Exploit Public-Facing Application Initial Access
Adversaries may attempt to exploit a weakness in an Internet-facing host or system to initially access a network.
T1005 Data from Local System Collection
Adversaries may search local system sources, such as file systems, configuration files, local databases, virtual machine files, or process memory, to find files of interest and sensitive data prior to Exfiltration.
Why these techniques?

Path traversal flaw in public-facing IPX service enables remote unauthenticated exploitation (T1190) resulting in arbitrary local file reads (T1005).

Confidence: HIGH · MITRE ATT&CK Enterprise v18.1

NVD Description

IPX is an image optimizer powered by sharp and svgo. In versions 1.3.1 and below, 2.0.0-0 through 2.1.0, and 3.0.0 through 3.1.0, the approach used to check whether a path is within allowed directories is vulnerable to path prefix bypass…

more

when the allowed directories do not end with a path separator. This occurs because the check relies on a raw string prefix comparison. This is fixed in versions 1.3.2, 2.1.1 and 3.1.1.

Deeper analysisAI

CVE-2025-54387 affects IPX, an image optimizer powered by sharp and svgo, in versions 1.3.1 and below, 2.0.0-0 through 2.1.0, and 3.0.0 through 3.1.0. The vulnerability stems from a flawed path validation mechanism that checks whether a path is within allowed directories using a raw string prefix comparison. This allows path prefix bypass when allowed directories do not end with a path separator, enabling path traversal as classified under CWE-22. The issue has a CVSS v3.1 base score of 9.8 (AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H), indicating critical severity.

Remote unauthenticated attackers can exploit this vulnerability over the network with low complexity and no user interaction. By crafting malicious paths that bypass the prefix check, attackers can access and process files outside the intended directories. This leads to high-impact confidentiality violations through arbitrary file reads, integrity compromises potentially via image processing manipulations, and availability disruptions.

The vulnerability is fixed in IPX versions 1.3.2, 2.1.1, and 3.1.1, as detailed in the project releases and a specific commit resolving the path check logic. Security practitioners should upgrade affected installations immediately, per the GitHub security advisory GHSA-mm3p-j368-7jcr.

Details

CWE(s)

Affected Products

unjs
ipx
≤ 1.3.2 · 2.0.0 — 2.1.1 · 3.0.0 — 3.1.1

CVEs Like This One

CVE-2025-69874Same vendor: Unjs
CVE-2026-23536Shared CWE-22
CVE-2025-23422Shared CWE-22
CVE-2025-8343Shared CWE-22
CVE-2025-10559Shared CWE-22
CVE-2025-67076Shared CWE-22
CVE-2026-5258Shared CWE-22
CVE-2025-25155Shared CWE-22
CVE-2024-51376Shared CWE-22
CVE-2024-13471Shared CWE-22

References