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

CVE-2025-27532

CVE-2025-27532 Information Disclosure in Ctrlx
📅 PUBLISHED: 2025-04-30 11:49 UTC 🔄 UPDATED: 2026-08-21 19:32 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.07%
👁️
0.07% probability
1.6× above the median CVE
Tier: LOW
30-day exploitation window · FIRST.org · updated daily
🥷 MITRE: T1552
👁️
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.5
AV: N Attack Vector Network
AC: L Attack Complexity Low
PR: L Privileges Required Low
UI: N User Interaction None
S: U Scope Unchanged
C: H Confidentiality High
I: N Integrity None
A: N Availability None
6.5
THREAT LEVEL
■ tracking this CVE ✓ independent patch confirmation ⧗ same-origin mirror (GHSA) ⚠ active exploitation verification policy →

Executive Summary

CVE-2025-27532 is a medium-severity information disclosure vulnerability affecting the ctrlX OS web application, specifically within the “Backup & Restore” functionality. A remote, low-privileged authenticated attacker can send multiple crafted HTTP requests to extract secret information, such as configuration files, credentials, or cryptographic keys, from the device. The vulnerability has a CVSS score of 6.5 (Medium) and currently has no known public exploit, patch, or proof-of-concept code. The EPSS score is 0.0%, indicating a very low probability of exploitation in the wild at this time. However, given the critical nature of ctrlX devices in industrial control systems (ICS), this vulnerability poses a significant risk to operational technology (OT) environments.

⚡ 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 package manager (NPM, PyPI, Go, Ruby). It is a web application vulnerability in a proprietary industrial control system (ICS) platform. No supply chain attack vector is identified.

CVSS Breakdown & Threat Level

  • Attack Vector (AV): Network (N) – Exploitable remotely.
  • Attack Complexity (AC): Low (L) – No special conditions required.
  • Privileges Required (PR): Low (L) – Attacker needs a valid low-privileged account.
  • User Interaction (UI): None (N) – No user action required.
  • Scope (S): Unchanged (U) – Exploit does not affect other components.
  • Confidentiality (C): High (H) – Complete disclosure of secret information.
  • Integrity (I): None (N) – No data modification.
  • Availability (A): None (N) – No impact on system availability.

Threat Level: Medium. While the impact on confidentiality is high, the requirement for authentication and the lack of public exploits reduce the immediate threat. However, in an OT context, the exposure of secrets could lead to lateral movement and full system compromise.

Deep Dive & Mechanics

The vulnerability resides in the “Backup & Restore” functionality of the ctrlX OS web application. This feature is designed to allow administrators to create and restore system backups, which typically contain sensitive configuration data, credentials, and cryptographic material.

Root Cause: The application fails to properly enforce access controls on the backup/restore API endpoints. A low-privileged user (e.g., a “viewer” or “operator” role) can invoke these endpoints, which should be restricted to administrators. The attacker can craft multiple HTTP requests to enumerate and download backup files or extract data from the backup process.

Attack Flow:

  1. Authentication: The attacker logs in with a low-privileged account (e.g., via default credentials or a compromised user).
  2. Reconnaissance: The attacker sends GET requests to endpoints like /api/backup/list or /api/backup/download?id=<id> to enumerate available backups.
  3. Extraction: The attacker downloads backup files (e.g., .tar.gz or .zip) containing sensitive data.
  4. Parsing: The attacker extracts and analyzes the backup files to obtain credentials, certificates, or other secrets.

Why it works: The backup functionality likely uses a role-based access control (RBAC) check that is either missing or incorrectly implemented. The attacker can bypass this by directly calling the API endpoints without proper authorization checks.

Vulnerable vs. Patched Code

Since no patch is available, we can only hypothesize the vulnerable code pattern.

Vulnerable Code (Conceptual):

# Vulnerable: No role check on backup endpoints
@app.route('/api/backup/download')
def download_backup():
    backup_id = request.args.get('id')
    # Directly returns backup file without checking user role
    return send_file(f'/backups/{backup_id}.tar.gz')

Patched Code (Conceptual):

# Patched: Role check enforced
@app.route('/api/backup/download')
@require_role('admin')  # Only admins can download backups
def download_backup():
    backup_id = request.args.get('id')
    return send_file(f'/backups/{backup_id}.tar.gz')

Exploitation & Lab Setup

Red Team (Attack Simulation)

Prerequisites:

  • A low-privileged account on the ctrlX device (e.g., username: user, password: user).
  • Network access to the ctrlX web interface (typically port 443 or 8080).

Exploitation Steps:

  1. Authenticate and obtain a session cookie:

    curl -X POST https://<target>/api/auth/login \
      -H "Content-Type: application/json" \
      -d '{"username":"user","password":"user"}' \
      -c cookies.txt
    
  2. Enumerate available backups:

    curl -X GET https://<target>/api/backup/list \
      -b cookies.txt
    
  3. Download a backup file:

    curl -X GET "https://<target>/api/backup/download?id=1" \
      -b cookies.txt -o backup.tar.gz
    
  4. Extract and analyze:

    tar -xzf backup.tar.gz
    grep -r "password" extracted_backup/
    

Expected Outcome: The attacker obtains sensitive data such as admin credentials, SSH keys, or TLS certificates.

Blue Team (Defense & Detection)

Detection Strategy:

  • Monitor for unusual access to /api/backup/* endpoints from non-admin users.
  • Alert on multiple failed authentication attempts followed by backup downloads.
  • Use network monitoring to detect large outbound data transfers (backup files).

Honeypot Technique:

  • Deploy a fake backup file containing a unique token (e.g., a canary token) to alert on exfiltration.

Indicators of Compromise (IOCs)

Type Indicator Description
Network GET /api/backup/list Enumeration of backups
Network GET /api/backup/download?id=* Download of backup files
File *.tar.gz or *.zip files on the device Backup archives
Log [INFO] Backup downloaded by user <low_priv_user> Application log entry
Log [WARN] Unauthorized access attempt to /api/backup/* Failed access control

Detection Engineering

YARA Rule

rule cve_2025_27532_backup_exfil {
    meta:
        description = "Detects ctrlX backup files containing sensitive data"
        author = "Valters IT"
        date = "2025-04-10"
        reference = "CVE-2025-27532"
    strings:
        $backup_magic = { 1F 8B 08 00 }  // gzip magic bytes
        $config_key = "ctrlX" nocase
        $password = "password" nocase
    condition:
        $backup_magic at 0 and ($config_key or $password)
}

Sigma Rule

title: Suspicious Backup Download from ctrlX Device
id: 8a9b3c4d-5e6f-7a8b-9c0d-1e2f3a4b5c6d
status: experimental
description: Detects multiple backup download requests from a low-privileged user
author: Valters IT
date: 2025-04-10
logsource:
    category: web
    product: ctrlX
detection:
    selection:
        cs-method: 'GET'
        cs-uri-stem: '/api/backup/download'
        cs-username: 'user'  # Example low-privileged user
    condition: selection
falsepositives:
    - Legitimate admin activity
level: high

Suricata Rule

alert http $HOME_NET any -> $EXTERNAL_NET any (
    msg:"CVE-2025-27532 - ctrlX Backup Download by Low-Privileged User";
    flow:to_server,established;
    content:"GET"; http_method;
    content:"/api/backup/download"; http_uri;
    content:"id="; http_uri;
    classtype:attempted-recon;
    sid:1000001;
    rev:1;
)

Remediation & Mitigation

Immediate Actions:

  1. Restrict Access: Implement strict network segmentation to limit access to ctrlX devices to only trusted IPs.
  2. Disable Backup API: If not required, disable the backup/restore functionality entirely.
  3. Enforce RBAC: Manually review and enforce role-based access controls on all API endpoints.
  4. Monitor Logs: Enable detailed logging and alerting on backup-related activities.

Long-Term Fix:

  • Apply vendor patch when available.
  • Upgrade to a patched version of ctrlX OS.
  • Conduct a security audit of all web application endpoints.

Workaround:

  • Use a reverse proxy (e.g., Nginx) to block access to /api/backup/* for non-admin users:
    location /api/backup/ {
        allow 10.0.0.0/8;  # Admin subnet only
        deny all;
    }
    

Valters IT
Securing Industrial Control Systems

👁️ 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:"ctrlX"
product:"Bosch Rexroth ctrlX"
"ctrlX OS" "login"

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