Skip to content

CVE-2024-55956 — Cleo Harmony/VLTrader/LexiCom RCE

Key facts

CVE-2024-55956 is a Critical (9.8) vulnerability: Cleo Harmony/VLTrader/LexiCom RCE. This entry ships ready-to-deploy detection and prevention rules (Snort, YARA, Nginx, Apache) plus a detection-only PoC and a Docker test lab. It is on the CISA Known Exploited Vulnerabilities (KEV) catalog (added 2024-12-17), confirming active exploitation in the wild, and is linked to known ransomware campaigns.

Actively exploited — on the CISA KEV catalog

CVE-2024-55956 is listed on the CISA Known Exploited Vulnerabilities (KEV) catalog (added 2024-12-17), confirming exploitation in the wild. It is linked to known ransomware campaigns. Federal remediation deadline: 2025-01-07. Prioritise patching and deploy the detection and prevention rules below.

CVE CVE-2024-55956
Severity Critical (9.8)
CISA KEV Actively exploited (added 2024-12-17) · ransomware
Detection / prevention Snort, YARA, Nginx, Apache
PoC poc.py
Source 2024/CVE-2024-55956/

Details

CVE-2024-55956 is a Critical (9.8) vulnerability: Cleo Harmony/VLTrader/LexiCom RCE. This entry ships a detection-only proof-of-concept (PoC), a Docker test lab, and ready-to-deploy detection and prevention rules (Snort, YARA, Nginx, Apache) — see Detection and prevention below. Source: NVD record.

Overview

Attribute Value
CVE ID CVE-2024-55956
Severity Critical
CVSS Score 9.8
Affected Product Cleo Harmony, VLTrader, LexiCom
Vulnerability Type Unauthenticated RCE
Exploitation Status Actively Exploited (Cl0p Ransomware)

Description

CVE-2024-55956 is a critical unauthenticated remote code execution vulnerability in Cleo's file transfer products (Harmony, VLTrader, LexiCom). The vulnerability allows attackers to execute arbitrary commands without authentication, and has been actively exploited by the Cl0p ransomware group.

Affected Versions

  • Cleo Harmony before 5.8.0.24
  • Cleo VLTrader before 5.8.0.24
  • Cleo LexiCom before 5.8.0.24

Technical Details

Root Cause

The vulnerability exists in the file processing mechanism where specially crafted files can trigger command execution during automated processing.

Attack Vector

  1. Attacker identifies exposed Cleo instance
  2. Uploads malicious file to trigger processing
  3. File processing executes embedded commands
  4. Attacker gains shell access to server

Impact

  • Unauthenticated remote code execution
  • Data exfiltration
  • Ransomware deployment
  • Supply chain attacks via MFT

Mitigation

  1. Upgrade to version 5.8.0.24 or later
  2. Disable autorun/auto-processing features
  3. Implement network segmentation
  4. Monitor for suspicious file uploads

Verification Process

The PoC uses a multi-stage verification approach:

Step 1: Product/Version Detection (Passive)

[*] Query target endpoint
[*] Detect product signatures and extract version
[*] Check if version is in vulnerable range

Step 2: Active Vulnerability Testing

Method Description Detection
Error-based Tests for error messages indicating vulnerability Error indicators in response
Timing-based Measures response delay with payload Response time significantly longer
Response-based Checks for expected patterns in response Vulnerability indicators present

Verification Flow

┌─────────────────────────────────────────────────────────────┐
│                    Product Detection                         │
│  Query target → Detect product/version                      │
│  Check if version in vulnerable range                       │
└─────────────────────────────────────────────────────────────┘
                              ↓
┌─────────────────────────────────────────────────────────────┐
│               Active Vulnerability Testing                   │
│                                                              │
│  1. Error-based Test                                         │
│     └─ Send payload → Check for error indicators            │
│     └─ If error found → CONFIRMED VULNERABLE                │
│                                                              │
│  2. Timing-based Test                                        │
│     └─ Send delay payload → Measure response time           │
│     └─ If delayed → CONFIRMED VULNERABLE                    │
│                                                              │
│  3. Response-based Test                                      │
│     └─ Send payload → Check response content                │
│     └─ If pattern matches → CONFIRMED VULNERABLE            │
└─────────────────────────────────────────────────────────────┘

Usage

# Full vulnerability check (version + active testing)
python3 poc.py -t https://target.com -c

# Version-only check (passive, no payloads sent)
python3 poc.py -t https://target.com -c --version-only

References

Detection and prevention

Ready-to-deploy defensive rules for CVE-2024-55956, for authorized testing and blue-team detection engineering:

References: NVD — CVE-2024-55956 · full write-up on the searchable site

Detection & prevention rules

# CVE-2024-55956 - Snort IDS Rules
# Severity: High

# Detect potential exploit attempts
alert tcp $EXTERNAL_NET any -> $HOME_NET $HTTP_PORTS (
    msg:"CVE-2024-55956 Potential Exploit Attempt";
    flow:to_server,established;
    content:".."; http_uri;
    classtype:web-application-attack;
    sid:2024559561;
    rev:1;
    metadata:cve CVE-2024-55956, severity high;
)

# Detect suspicious patterns in request
alert tcp $EXTERNAL_NET any -> $HOME_NET $HTTP_PORTS (
    msg:"CVE-2024-55956 Suspicious Request Pattern";
    flow:to_server,established;
    pcre:"/(%2e%2e|%252e|\x00)/Ui";
    classtype:web-application-attack;
    sid:2024559562;
    rev:1;
    metadata:cve CVE-2024-55956, severity high;
)

:material-file-download: prevention/snort.rules

/*
 * CVE-2024-55956 - YARA Detection Rules
 */

rule CVE_2024_55956_Exploit {
    meta:
        description = "Detects potential CVE-2024-55956 exploit attempts"
        author = "Security Research Team"
        severity = "high"
        cve = "CVE-2024-55956"

    strings:
        $path_traversal1 = "../" ascii wide
        $path_traversal2 = "..\" ascii wide
        $encoded1 = "%2e%2e" ascii wide nocase
        $encoded2 = "%252e" ascii wide nocase
        $null_byte = "%00" ascii wide

    condition:
        any of them
}

:material-file-download: prevention/yara.yar

# CVE-2024-55956 - Prevention Rules for Nginx

# Block common exploit patterns
location / {
    # Rate limiting
    limit_req zone=general burst=20 nodelay;

    # Block suspicious patterns
    if ($request_uri ~* "(\.\.[\/]|%2e%2e|%252e)") {
        return 403;
    }

    # Security headers
    add_header X-Content-Type-Options "nosniff" always;
    add_header X-Frame-Options "DENY" always;
    add_header X-XSS-Protection "1; mode=block" always;
}

# Log suspicious activity
access_log /var/log/nginx/CVE-2024-55956-access.log;
error_log /var/log/nginx/CVE-2024-55956-error.log;

:material-file-download: prevention/nginx.conf

# CVE-2024-55956 - Prevention Rules for Apache httpd

# Block common exploit patterns
<IfModule mod_rewrite.c>
    RewriteEngine On

    # Block path traversal
    RewriteCond %{REQUEST_URI} (\.\.[\/]|%2e%2e|%252e) [NC]
    RewriteRule .* - [F,L]

    # Block null bytes
    RewriteCond %{REQUEST_URI} %00 [NC]
    RewriteRule .* - [F,L]
</IfModule>

# Security headers
Header always set X-Content-Type-Options "nosniff"
Header always set X-Frame-Options "DENY"
Header always set X-XSS-Protection "1; mode=block"

# Enable logging
CustomLog /var/log/httpd/CVE-2024-55956-access.log combined
ErrorLog /var/log/httpd/CVE-2024-55956-error.log

:material-file-download: prevention/httpd.conf

Frequently asked questions

What is CVE-2024-55956?

CVE-2024-55956 is a Critical (9.8) vulnerability: Cleo Harmony/VLTrader/LexiCom RCE. This entry ships ready-to-deploy detection and prevention rules (Snort, YARA, Nginx, Apache) plus a detection-only PoC and a Docker test lab. It is on the CISA Known Exploited Vulnerabilities (KEV) catalog (added 2024-12-17), confirming active exploitation in the wild, and is linked to known ransomware campaigns.

How do I detect CVE-2024-55956?

Deploy the Snort and YARA detection rule included with this entry (see Detection & prevention rules below), then validate it against the detection-only PoC in the Docker test lab.

How do I block or mitigate CVE-2024-55956?

Apply the Nginx and Apache mitigation config included with this entry, and upgrade to a fixed version per the vendor advisory (see the NVD record for affected versions).

Is CVE-2024-55956 actively exploited?

Yes. CVE-2024-55956 is on the CISA Known Exploited Vulnerabilities (KEV) catalog, added 2024-12-17, which means it has been exploited in the wild. CISA also links it to known ransomware campaigns. CISA set a federal remediation deadline of 2025-01-07. Prioritise patching and deploy the detection and prevention rules above.


For authorized security testing and research only. See the full source and NVD record.