CVE-2022-23082

7.5 HIGH

📋 TL;DR

CVE-2022-23082 is a path traversal vulnerability in CureKit versions v1.0.1 through v1.1.3 where the isFileOutsideDir function fails to properly sanitize user input. This allows attackers to access files outside the intended directory, potentially exposing sensitive system files. Organizations using vulnerable CureKit versions for file processing or security scanning are affected.

💻 Affected Systems

Products:
  • CureKit
Versions: v1.0.1 through v1.1.3
Operating Systems: All
Default Config Vulnerable: ⚠️ Yes
Notes: Any deployment using the vulnerable isFileOutsideDir function for file validation is affected.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Complete system compromise via reading sensitive files like /etc/passwd, /etc/shadow, or application configuration files containing credentials, leading to privilege escalation or data exfiltration.

🟠

Likely Case

Unauthorized access to application files, configuration files, or other sensitive data stored on the server, potentially enabling further attacks.

🟢

If Mitigated

Limited impact with proper file permissions, network segmentation, and input validation in place, restricting access to non-critical files.

🌐 Internet-Facing: HIGH
🏢 Internal Only: MEDIUM

🎯 Exploit Status

Public PoC: ✅ No
Weaponized: UNKNOWN
Unauthenticated Exploit: ⚠️ Yes
Complexity: LOW

Path traversal vulnerabilities are typically easy to exploit with basic knowledge of directory structures.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: v1.1.4 and later

Vendor Advisory: https://github.com/whitesource/CureKit/commit/af35e870ed09411d2f1fae6db1b04598cd1a31b6

Restart Required: Yes

Instructions:

1. Update CureKit to version v1.1.4 or later. 2. Restart any services using CureKit. 3. Verify the fix by testing path traversal attempts.

🔧 Temporary Workarounds

Input Validation Wrapper

all

Implement custom input validation to sanitize file paths before passing to isFileOutsideDir function.

# Example Python wrapper
import os
def safe_is_file_outside_dir(user_input, base_dir):
    normalized = os.path.normpath(user_input)
    if '..' in normalized or normalized.startswith('/'):
        return True
    return False

🧯 If You Can't Patch

  • Implement strict file system permissions to limit accessible directories.
  • Use network segmentation to isolate CureKit instances from sensitive systems.

🔍 How to Verify

Check if Vulnerable:

Check CureKit version; if between v1.0.1 and v1.1.3 inclusive, it's vulnerable. Test by attempting path traversal (e.g., '../../etc/passwd') in file input.

Check Version:

curekit --version or check package manager (e.g., npm list curekit)

Verify Fix Applied:

After updating to v1.1.4+, retest path traversal attempts; they should be blocked or sanitized.

📡 Detection & Monitoring

Log Indicators:

  • Unusual file access patterns, failed path traversal attempts in application logs.
  • Multiple requests with '..' or absolute paths in file parameters.

Network Indicators:

  • HTTP requests containing path traversal sequences in file-related parameters.

SIEM Query:

source="app_logs" AND (".." OR "/etc/" OR "/var/") AND file_parameter=*

🔗 References

📤 Share & Export