Listen to this Post
How the CVE Works
The vulnerability arises when IPX checks whether a file path is within an allowed directory (e.g., ./public). The check uses a raw string prefix comparison, which fails if the allowed directory doesn’t end with a path separator (/). An attacker can bypass this by using a similarly named directory (e.g., public123), allowing access to files outside the intended directory. The PoC demonstrates this by accessing `../public123/test.png` instead of being restricted to ./public.
DailyCVE Form
Platform: IPX
Version: <0.9.0
Vulnerability: Path Traversal
Severity: Medium
Date: 2023-03-15
Prediction: Patch by 2023-04-10
What Undercode Say
Analytics:
npm audit --production | grep "CVE-2023-30547" curl -s "https://api.npmjs.org/advisories?package=ipx" | jq
Exploit:
const source = await ipx("../public123/test.png"); // Bypasses path check
Protection from this CVE:
if (!dir.endsWith('/')) dir += '/'; // Ensure path separator
Impact:
Unauthorized file access via directory traversal.
🎯Let’s Practice Exploiting & Learn Patching For Free:
Sources:
Reported By: github.com
Extra Source Hub:
Undercode

