IPX is Vulnerable to Path Traversal via Prefix Matching Bypass
Key facts
- Attack vector
- Network
- Privileges required
- None
- User interaction
- None
- Attack complexity
- Low
- Attack requirements
- Present
- Impact type
- Information disclosure
- Confidentiality · integrity · availability
- Low · None · None
- Fix status
- Fixed
Attack profile from CVSS 4.0 · CNA. Fix status from CNA and GitHub. Impact type from CWE-22 and the CVSS impact.
Summary
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 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.
Why it matters now
SSVC decision points
CISA ADP · SSVC 2.0.3
- Exploitation
- Poc
- Automatable
- Yes
- Technical impact
- Partial
The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.
Affected products
| Vendor | Product | Affected versions | Fixed in | Status | Source |
|---|---|---|---|---|---|
| unjs | ipx | before 1.3.2; 2.0.0-0 to before 2.1.1; 3.0.0 to before 3.1.1 | 1.3.2, 2.1.1, 3.1.1 | Patch available | CNA |
| — | ipx (npm) | before 1.3.2 | 1.3.2 | Patch available | GHSA-mm3p-j368-7jcr |
| — | ipx (npm) | 2.0.0-0 to before 2.1.1 | 2.1.1 | Patch available | GHSA-mm3p-j368-7jcr |
| — | ipx (npm) | 3.0.0 to before 3.1.1 | 3.1.1 | Patch available | GHSA-mm3p-j368-7jcr |
- ipx Vendorunjs Affected before 1.3.2; 2.0.0-0 to before 2.1.1; 3.0.0 to before 3.1.1 Fixed in 1.3.2, 2.1.1, 3.1.1 Patch available CNA
- ipx (npm) Vendor— Affected before 1.3.2 Fixed in 1.3.2 Patch available GHSA-mm3p-j368-7jcr
- ipx (npm) Vendor— Affected 2.0.0-0 to before 2.1.1 Fixed in 2.1.1 Patch available GHSA-mm3p-j368-7jcr
- ipx (npm) Vendor— Affected 3.0.0 to before 3.1.1 Fixed in 3.1.1 Patch available GHSA-mm3p-j368-7jcr
Remediation
- Fix · CNA ipx (unjs) Fixed in 1.3.2, 2.1.1, 3.1.1
- Fix · GHSA-mm3p-j368-7jcr ipx (npm) Fixed in 1.3.2 Advisory →
- Fix · GHSA-mm3p-j368-7jcr ipx (npm) Fixed in 2.1.1 Advisory →
- Fix · GHSA-mm3p-j368-7jcr ipx (npm) Fixed in 3.1.1 Advisory →
Timeline
- 2026-10-02 Threatist record created from CVE-2025-54387
- 2026-10-03 Alias added: GHSA-mm3p-j368-7jcr
References
Sources
- CVE-2025-54387 · CVE Program
- CVE-2025-54387 · NVD
- FIRST EPSS
- GHSA-mm3p-j368-7jcr · GitHub Advisory Database · CC BY 4.0
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences