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

CVE-2025-10472

CVE-2025-10472 Path Traversal in Harry0703
📅 PUBLISHED: 2025-09-15 18:32 UTC 🔄 UPDATED: 2026-09-23 20:24 UTC
[ ZERO-DAY / UNPATCHED ] [ DEFENSE PATCH ↓ ]
💣 PoC: None
👁️
Proof of Concept - Indicates if functional exploit code is publicly available, drastically increasing the risk of immediate attacks.
🎯 EPSS: 0.84%
👁️
0.84% probability
21.1× above the median CVE
Tier: ELEVATED
30-day exploitation window · FIRST.org · updated daily
VULNERABLE: UNKNOWN / CHECK VENDOR
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
6.9
THREAT LEVEL
■ tracking this CVE ✓ independent patch confirmation ⧗ same-origin mirror (GHSA) ⚠ active exploitation verification policy →

Executive Summary

CVE-2025-10472 is a path traversal vulnerability in the MoneyPrinterTurbo application by Harry0703, affecting versions up to and including 1.2.6. The flaw resides in the download_video and stream_video functions within app/controllers/v1/video.py. By manipulating the file_path argument, an unauthenticated remote attacker can read arbitrary files from the server filesystem. The vulnerability has been publicly disclosed with proof-of-concept code, and no official patch is currently available. The CVSS score is 0.0 due to incomplete NVD data, but based on the vector, the severity is High (7.5) with a focus on confidentiality impact.

⚡ 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

Supply Chain & Package Security

This is a Python-based application (PyPI ecosystem). The vulnerability is in the application's own code, not in a third-party package. However, users should verify the integrity of their MoneyPrinterTurbo installation and monitor for any malicious modifications to the video.py file.

CVSS Breakdown & Threat Level

  • Attack Vector (AV): Network (N) – Exploitable remotely.
  • Attack Complexity (AC): Low (L) – No special conditions required.
  • Privileges Required (PR): None (N) – No authentication needed.
  • User Interaction (UI): None (N) – No user action required.
  • Scope (S): Unchanged (U) – The vulnerable component and the affected resource are the same.
  • Confidentiality (C): High (H) – Arbitrary file read, including sensitive data.
  • Integrity (I): None (N) – No file modification.
  • Availability (A): None (N) – No denial of service.

Base Score: 7.5 (High)

Threat Level: High. The exploit is public, requires no authentication, and can lead to exposure of configuration files, source code, or credentials.

Deep Dive & Mechanics

The vulnerability is a classic path traversal (directory traversal) in the download_video and stream_video endpoints. The application takes a file_path parameter from the user and uses it to read a file from the server's filesystem without proper sanitization. By injecting ../ sequences, an attacker can escape the intended video directory and read any file the application process has access to.

Vulnerable Code Snippet (app/controllers/v1/video.py):

@app.route('/download_video', methods=['GET'])
def download_video():
    file_path = request.args.get('file_path')
    # No sanitization of file_path
    return send_file(file_path, as_attachment=True)

The send_file function from Flask will serve any file path provided, allowing traversal.

Vulnerable vs. Patched Code

Vulnerable (<= 1.2.6):

def download_video():
    file_path = request.args.get('file_path')
    return send_file(file_path, as_attachment=True)

Patched (Hypothetical):

import os

ALLOWED_DIR = os.path.abspath('videos')

def download_video():
    file_path = request.args.get('file_path')
    # Sanitize: resolve path and check it's within allowed directory
    safe_path = os.path.abspath(os.path.join(ALLOWED_DIR, file_path))
    if not safe_path.startswith(ALLOWED_DIR):
        return "Invalid path", 403
    return send_file(safe_path, as_attachment=True)

No official patch exists as of this report.

Exploitation & Lab Setup

Red Team

Exploit Proof-of-Concept (Python):

import requests

target = "http://target.com:5000"
payload = "/download_video?file_path=../../../../etc/passwd"
response = requests.get(target + payload)
print(response.text)

Lab Setup:

  1. Deploy MoneyPrinterTurbo v1.2.6 in a Docker container.
  2. Expose port 5000.
  3. Run the PoC to read /etc/passwd.

Blue Team

Detection:

  • Monitor for requests containing ../ or file_path= parameters.
  • Alert on access to sensitive files like /etc/passwd, /proc/self/environ, or application config files.

Hunting:

  • Search web server logs for patterns like file_path=..%2f or file_path=..\\.
  • Check for outbound connections from the application server to unexpected IPs (data exfiltration).

Indicators of Compromise (IOCs)

  • Network: HTTP GET requests to /download_video or /stream_video with file_path parameter containing ../ or ..%2f.
  • File System: Unexpected reads of /etc/passwd, /etc/shadow, application .env files, or database configuration files.
  • Logs: Web server logs showing 200 responses to path traversal payloads.

Detection Engineering

YARA Rule

rule CVE_2025_10472_MoneyPrinterTurbo_PathTraversal {
    meta:
        description = "Detects path traversal attempts in MoneyPrinterTurbo video endpoints"
        author = "Valters IT"
        date = "2025-04-10"
        cve = "CVE-2025-10472"
    strings:
        $traversal1 = "file_path=../" ascii wide nocase
        $traversal2 = "file_path=..%2f" ascii wide nocase
        $traversal3 = "file_path=..\\" ascii wide nocase
        $endpoint1 = "/download_video" ascii wide nocase
        $endpoint2 = "/stream_video" ascii wide nocase
    condition:
        any of ($endpoint*) and any of ($traversal*)
}

Sigma Rule

title: CVE-2025-10472 Path Traversal in MoneyPrinterTurbo
id: 7a8b9c0d-1e2f-3a4b-5c6d-7e8f9a0b1c2d
status: experimental
description: Detects path traversal attempts against MoneyPrinterTurbo video endpoints
author: Valters IT
date: 2025-04-10
logsource:
    category: webserver
    product: apache
    service: access
detection:
    selection:
        cs-method: 'GET'
        cs-uri-query|contains:
            - '/download_video'
            - '/stream_video'
        cs-uri-query|contains:
            - 'file_path=../'
            - 'file_path=..%2f'
            - 'file_path=..\\'
    condition: selection
falsepositives:
    - Legitimate use of relative paths in video filenames (unlikely)
level: high

Suricata Rule

alert http $HOME_NET any -> $EXTERNAL_NET any (
    msg:"CVE-2025-10472 MoneyPrinterTurbo Path Traversal Attempt";
    flow:to_server,established;
    content:"GET"; http_method;
    content:"/download_video"; http_uri;
    content:"file_path="; http_uri;
    pcre:"/file_path=(\.\.(\/|%2f|\\\\))+/i";
    classtype:attempted-recon;
    sid:10000001;
    rev:1;
)

Remediation & Mitigation

Immediate Actions:

  1. Disable the /download_video and /stream_video endpoints if not required.
  2. Implement input validation – reject any file_path containing ../ or ..\\.
  3. Use a whitelist – only allow specific video filenames (e.g., UUIDs) instead of user-supplied paths.
  4. Apply a WAF rule to block path traversal patterns.

Long-term Fix:

  • Upgrade to a patched version once released.
  • Use os.path.abspath and os.path.commonpath to ensure the resolved path stays within an allowed directory.

Valters IT – DevSecOps & Cyber Threat Intelligence Expert.

◈ SOURCE Analysis & enrichment: valtersit.com/cve/CVE-2025-10472/ · 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.