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

CVE-2024-45229

CVE-2024-45229 Authentication Bypass in Versa
📅 PUBLISHED: 2024-09-20 18:09 UTC 🔄 UPDATED: 2026-09-26 06:12 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.25%
👁️
0.25% probability
6.2× 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 6.6
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: L Confidentiality Low
I: L Integrity Low
A: L Availability Low
6.6
THREAT LEVEL
■ tracking this CVE ✓ independent patch confirmation ⧗ same-origin mirror (GHSA) ⚠ active exploitation verification policy →

Executive Summary

CVE-2024-45229 is an authentication bypass vulnerability in Versa Director, a network orchestration and management platform. The flaw resides in a REST API endpoint that, by design, does not require authentication. An unauthenticated attacker can inject invalid arguments into a GET request to this endpoint, potentially exposing authentication tokens of other currently logged-in users. These tokens can then be used to invoke additional APIs on port 9183, leading to unauthorized access and control. The vulnerability is only exploitable on Versa Directors directly connected to the Internet. No public exploit code or proof-of-concept is currently available, and the EPSS score is 0.0%, indicating low exploitation activity. The vendor has not released a specific patch version but recommends upgrading to remediated software versions and using WAF/API Gateway rules as a workaround.

⚡ 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 an open-source package manager (NPM, PyPI, Go, Ruby). It is a proprietary software component of Versa Networks. No supply chain compromise is involved.

CVSS Breakdown & Threat Level

  • CVSS Score: 6.6 (Medium)
  • Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:L
  • 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: Low (C:L) – Exposure of authentication tokens, not credentials.
  • Integrity Impact: Low (I:L) – Tokens can be used to modify configurations.
  • Availability Impact: Low (A:L) – Potential for service disruption via API abuse.
  • Threat Level: Medium – Exploitation requires the Director to be Internet-facing, but no authentication is needed. The impact is limited to token theft and subsequent API abuse.

Deep Dive & Mechanics

The vulnerability exists in the Versa Director’s REST API, specifically in endpoints that are intentionally left unauthenticated for operational purposes (e.g., login screen, banner display, device registration). The affected endpoint is /vnms/devicereg/device/* on ports 9182 and 9183, and /versa/vnms/devicereg/device/* on port 443.

Root Cause: The API endpoint does not properly validate input arguments. By injecting invalid or malformed arguments into a GET request, an attacker can trigger an error condition that leaks authentication tokens (e.g., session cookies or bearer tokens) of other currently logged-in users. This is a classic example of CWE-306 (Missing Authentication for Critical Function) combined with improper input validation.

Attack Flow:

  1. The attacker sends a crafted GET request to the vulnerable endpoint with invalid arguments (e.g., ?invalidParam=malicious).
  2. The server processes the request and, due to a bug, returns the authentication tokens of active sessions in the response (e.g., in error messages, headers, or response body).
  3. The attacker extracts these tokens and uses them to authenticate to other APIs on port 9183, gaining unauthorized access to the Director’s management functions.

Why It Works: The endpoint is designed to be public, but the error handling logic inadvertently exposes sensitive data. The vulnerability does not disclose usernames or passwords, only session tokens, which are time-limited but still dangerous.

Vulnerable vs. Patched Code

No specific code diff is available as the vendor has not released a public patch. However, based on the description, the vulnerable code likely resembles:

# Vulnerable pseudo-code
@app.route('/vnms/devicereg/device/<device_id>', methods=['GET'])
def device_registration(device_id):
    # No authentication check
    args = request.args
    if 'invalidParam' in args:
        # Error handling that leaks tokens
        return jsonify({'error': 'Invalid parameter', 'tokens': get_active_tokens()}), 400
    # Normal processing
    return jsonify({'status': 'ok'})

The patched version would:

  • Remove token exposure from error responses.
  • Add authentication checks to the endpoint.
  • Validate and sanitize all input arguments.
# Patched pseudo-code
@app.route('/vnms/devicereg/device/<device_id>', methods=['GET'])
@requires_auth  # Added authentication
def device_registration(device_id):
    args = request.args
    if 'invalidParam' in args:
        # Safe error handling
        return jsonify({'error': 'Invalid parameter'}), 400
    # Normal processing
    return jsonify({'status': 'ok'})

Exploitation & Lab Setup

Red Team (Attack Simulation)

Prerequisites:

  • A Versa Director instance exposed to the Internet (or a lab environment with port 9182/9183 accessible).
  • No authentication required for the initial request.

Exploitation Steps:

  1. Identify the target Versa Director (e.g., via Shodan dork port:9183 "Versa").
  2. Send a crafted GET request to the vulnerable endpoint:
    curl -v "http://<target>:9182/vnms/devicereg/device/test?invalidParam=1"
    
  3. Examine the response for authentication tokens (e.g., Set-Cookie, Authorization header, or JSON body).
  4. Extract a valid token and use it to access other APIs:
    curl -v "http://<target>:9183/vnms/devicereg/device/list" -H "Cookie: <token>"
    
  5. Perform further actions (e.g., modify device configurations, extract network data).

Note: No public exploit code is available. The above is a conceptual simulation.

Blue Team (Defense & Detection)

Detection:

  • Monitor for unusual GET requests to /vnms/devicereg/device/* with unexpected parameters.
  • Alert on responses containing tokens in error messages or headers.
  • Use WAF rules to block requests with invalid arguments to these endpoints.

Hunting:

  • Search logs for requests to the vulnerable endpoints with parameters like invalidParam, test, or other non-standard keys.
  • Correlate with subsequent authenticated API calls on port 9183 from the same source IP.

Indicators of Compromise (IOCs)

  • Network IOCs:
    • Unusual GET requests to /vnms/devicereg/device/* or /versa/vnms/devicereg/device/* with malformed arguments.
    • Responses containing session tokens (e.g., JSESSIONID, X-Auth-Token) in error messages.
    • Subsequent API calls on port 9183 from IPs that previously sent unauthenticated requests.
  • Host IOCs:
    • Unexpected entries in Versa Director logs indicating token leakage.
    • Unauthorized configuration changes made via API.
  • File IOCs:
    • No specific file hashes available.

Detection Engineering

YARA Rule

rule Detect_Versa_Token_Leakage {
    meta:
        description = "Detects responses from Versa Director that may contain leaked authentication tokens"
        author = "Valters IT"
        date = "2025-04-10"
        reference = "CVE-2024-45229"
    strings:
        $token_pattern = /(JSESSIONID|X-Auth-Token|Authorization):\s*[A-Za-z0-9\-_]+/
        $error_pattern = /"error":\s*"Invalid parameter"/
        $vuln_path = /\/vnms\/devicereg\/device\//
    condition:
        $vuln_path and $error_pattern and $token_pattern
}

Sigma Rule

title: Versa Director Token Leakage via Unauthenticated API
id: 7a8b9c0d-1e2f-3a4b-5c6d-7e8f9a0b1c2d
status: experimental
description: Detects attempts to exploit CVE-2024-45229 by injecting invalid arguments into the device registration API
author: Valters IT
date: 2025-04-10
logsource:
    category: webserver
    product: versa_director
detection:
    selection:
        cs-method: 'GET'
        cs-uri-stem:
            - '/vnms/devicereg/device/*'
            - '/versa/vnms/devicereg/device/*'
        cs-uri-query|contains: 'invalidParam'
    condition: selection
falsepositives:
    - Legitimate testing or debugging
level: high

Suricata Rule

alert http any any -> any 9182,9183,443 (msg:"CVE-2024-45229 - Versa Director Token Leakage Attempt"; flow:to_server; content:"GET"; http_method; content:"/vnms/devicereg/device/"; http_uri; content:"invalidParam"; http_uri; classtype:attempted-recon; sid:1000001; rev:1;)

Remediation & Mitigation

Immediate Actions:

  1. Upgrade: Contact Versa support to obtain and apply the remediated software version. No specific version number is available, but the vendor has confirmed patches exist.
  2. WAF/API Gateway: Block access to the vulnerable URLs:
    • /vnms/devicereg/device/* on ports 9182 and 9183
    • /versa/vnms/devicereg/device/* on port 443
  3. Network Segmentation: Ensure Versa Directors are not directly exposed to the Internet. Place them behind a firewall or VPN.

Long-Term Fixes:

  • Implement proper authentication for all API endpoints, even those intended for public use.
  • Sanitize and validate all input parameters to prevent injection attacks.
  • Conduct regular security audits and penetration testing.

Workarounds:

  • If upgrading is not immediately possible, use WAF rules to inspect and block requests with suspicious parameters to the vulnerable endpoints.

Valters IT
DevSecOps & Cyber Threat Intelligence Expert

👁️ 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:"Versa Director"
port:9183 "Versa"
port:9182 "Versa"

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