CVE-2022-0624

7.3 HIGH

📋 TL;DR

This vulnerability allows attackers to bypass authorization controls by manipulating user-controlled keys in the parse-path library. It affects applications using parse-path versions prior to 5.0.0 for parsing URLs and paths. Attackers could potentially access unauthorized resources or perform actions they shouldn't be allowed to.

💻 Affected Systems

Products:
  • parse-path
Versions: All versions prior to 5.0.0
Operating Systems: All
Default Config Vulnerable: ⚠️ Yes
Notes: Only affects applications that use parse-path library for parsing URLs/paths and rely on it for authorization decisions.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Complete system compromise through privilege escalation, unauthorized data access, or resource manipulation depending on how parse-path is used in the application.

🟠

Likely Case

Unauthorized access to protected resources, data leakage, or manipulation of application logic that relies on path parsing for authorization decisions.

🟢

If Mitigated

Limited impact with proper input validation, output encoding, and defense-in-depth controls that don't rely solely on parse-path for security decisions.

🌐 Internet-Facing: HIGH
🏢 Internal Only: MEDIUM

🎯 Exploit Status

Public PoC: ⚠️ Yes
Weaponized: LIKELY
Unauthenticated Exploit: ⚠️ Yes
Complexity: LOW

Exploitation requires the attacker to control input that gets parsed by the vulnerable library. The vulnerability is well-documented with public proof-of-concept available.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: 5.0.0

Vendor Advisory: https://github.com/ionicabizau/parse-path/commit/f9ad8856a3c8ae18e1cf4caef5edbabbc42840e8

Restart Required: No

Instructions:

1. Update parse-path dependency to version 5.0.0 or higher. 2. Run 'npm update parse-path' or 'yarn upgrade parse-path'. 3. Test application functionality to ensure compatibility with the updated version.

🔧 Temporary Workarounds

Input Validation Wrapper

all

Implement custom input validation before passing data to parse-path to ensure keys cannot be manipulated.

Authorization Layer Bypass

all

Implement additional authorization checks independent of parse-path output.

🧯 If You Can't Patch

  • Implement strict input validation and sanitization for all user-controlled data before it reaches parse-path.
  • Add additional authorization checks that don't rely on parse-path output for security decisions.

🔍 How to Verify

Check if Vulnerable:

Check package.json or package-lock.json for parse-path version. If version is less than 5.0.0, the system is vulnerable.

Check Version:

npm list parse-path | grep parse-path

Verify Fix Applied:

Verify parse-path version is 5.0.0 or higher in package.json and that the application functions correctly with the updated version.

📡 Detection & Monitoring

Log Indicators:

  • Unusual path parsing patterns
  • Authorization failures followed by successful access
  • Malformed URL/path requests

Network Indicators:

  • Requests with manipulated path parameters
  • Unexpected resource access patterns

SIEM Query:

source="application_logs" AND (message="*parse-path*" OR message="*authorization*bypass*")

🔗 References

📤 Share & Export