CVE-2025-24347
Executive Summary
CVE-2025-24347 is a medium-severity vulnerability affecting the “Network Interfaces” functionality of the web application in ctrlX OS. A remote authenticated attacker with low privileges can manipulate the network configuration file by sending a crafted HTTP request. This could lead to unauthorized changes in network settings, potentially enabling further attacks such as man-in-the-middle, denial of service, or lateral movement within the industrial control system (ICS) environment. No public exploit code or proof-of-concept is currently available, and the vendor has not released a patch. The EPSS score is 0.0%, indicating low immediate exploitation likelihood, but the risk remains significant in targeted ICS environments.
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 is not related to NPM, PyPI, Go, or Ruby packages. It affects the proprietary ctrlX OS web application, which is part of the Bosch Rexroth ctrlX AUTOMATION platform. Supply chain risk is limited to the vendor’s software distribution and update mechanisms.
CVSS Breakdown & Threat Level
- CVSS Vector: CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:N
- Base Score: 6.5 (Medium)
- Attack Vector: Network (AV:N) – The vulnerability can be exploited remotely.
- Attack Complexity: Low (AC:L) – No special conditions required.
- Privileges Required: Low (PR:L) – Attacker needs a valid low-privileged account.
- User Interaction: None (UI:N) – No user action needed.
- Scope: Unchanged (S:U) – The vulnerable component and the impacted component are the same.
- Confidentiality Impact: None (C:N) – No data disclosure.
- Integrity Impact: High (I:H) – Network configuration can be altered.
- Availability Impact: None (A:N) – No direct denial of service.
Threat Level: Medium. While the CVSS score is moderate, the integrity impact is high, and the attack surface is network-accessible. In an ICS context, altering network interfaces can disrupt operations or enable pivoting to critical assets.
Deep Dive & Mechanics
The vulnerability resides in the “Network Interfaces” functionality of the ctrlX OS web application. This feature allows administrators to view and modify network interface settings (e.g., IP addresses, DNS, gateway) via a RESTful API or web forms. The application fails to properly validate or sanitize user-supplied input when processing HTTP requests to update network configuration files.
Root Cause: Improper input validation (CWE-20) in the server-side code that handles network interface updates. The application directly writes user-controlled data into the network configuration file (e.g., /etc/network/interfaces or a similar system file) without sanitization or integrity checks.
Attack Flow:
- Attacker authenticates to the ctrlX OS web application with low-privileged credentials.
- Attacker crafts a malicious HTTP request (e.g., POST or PUT) to the network interface endpoint, injecting arbitrary configuration directives.
- The server processes the request and writes the attacker’s payload into the network configuration file.
- The system applies the new configuration, potentially altering network settings, adding rogue interfaces, or enabling insecure protocols.
Impact: An attacker could:
- Change IP addresses to intercept traffic.
- Add a new network interface to exfiltrate data.
- Disable network interfaces to cause denial of service.
- Modify DNS settings to redirect traffic to malicious servers.
Vulnerable vs. Patched Code
Since no patch is available, a comparison cannot be made. However, based on the vulnerability description, the vulnerable code likely resembles:
# Vulnerable pseudo-code
def update_network_interface(request):
interface = request.POST.get('interface')
config = request.POST.get('config')
# No validation
with open('/etc/network/interfaces', 'w') as f:
f.write(config)
A patched version would include input validation and sanitization:
# Patched pseudo-code
def update_network_interface(request):
interface = request.POST.get('interface')
config = request.POST.get('config')
# Validate interface name
if not re.match(r'^[a-zA-Z0-9_]+$', interface):
return error("Invalid interface")
# Sanitize config to only allow expected parameters
sanitized = sanitize_network_config(config)
with open('/etc/network/interfaces', 'w') as f:
f.write(sanitized)
Exploitation & Lab Setup
Red Team
Prerequisites:
- Low-privileged credentials for ctrlX OS web application.
- Network access to the ctrlX device (port 443 or 80).
Exploitation Steps:
- Authenticate to the web application and obtain a session cookie.
- Identify the network interface update endpoint (e.g.,
/api/network/interfaces). - Craft a malicious payload to inject arbitrary configuration. Example using
curl:
curl -X POST https://target/api/network/interfaces \
-H "Cookie: session=valid_session" \
-H "Content-Type: application/json" \
-d '{
"interface": "eth0",
"config": "iface eth0 inet static\naddress 10.0.0.1\nnetmask 255.255.255.0\ngateway 10.0.0.254\n# Malicious entry\nauto eth0:1\niface eth0:1 inet static\naddress 192.168.1.1\nnetmask 255.255.255.0"
}'
- The server writes the payload to the network configuration file and applies it.
- Verify the changes by checking network interfaces or attempting to reach the new IP.
Note: No public exploit code exists. This is a hypothetical example.
Blue Team
Detection:
- Monitor HTTP requests to network interface endpoints for unusual payloads (e.g., injection of
auto,iface,addresskeywords). - Alert on configuration changes that add unexpected interfaces or IP addresses.
- Use file integrity monitoring (FIM) on network configuration files (e.g.,
/etc/network/interfaces).
Hunting:
- Search logs for POST/PUT requests to
/api/network/interfacesor similar endpoints. - Look for anomalies in network traffic, such as new IP addresses or interfaces appearing.
Mitigation:
- Restrict access to the web application to trusted IPs only.
- Enforce strong authentication and consider multi-factor authentication.
- Implement strict input validation and sanitization on the server side.
- Regularly audit network configuration files for unauthorized changes.
Indicators of Compromise (IOCs)
- Network:
- Unexpected IP addresses or interfaces in network configuration files.
- HTTP requests to
/api/network/interfaceswith suspicious payloads. - Outbound connections from the ctrlX device to unknown IPs.
- File:
- Modified
/etc/network/interfacesor equivalent file with unauthorized entries. - Presence of backup files (e.g.,
interfaces.bak) with altered content.
- Modified
- Logs:
- Web server logs showing repeated POST/PUT requests to network endpoints.
- System logs indicating network interface changes (e.g.,
ifup,ifdown).
Detection Engineering
YARA Rule
rule cve_2025_24347_network_config_injection {
meta:
description = "Detects attempts to inject malicious network configuration in ctrlX OS"
author = "Valters IT"
date = "2025-04-10"
reference = "CVE-2025-24347"
strings:
$s1 = "auto " ascii wide nocase
$s2 = "iface " ascii wide nocase
$s3 = "address " ascii wide nocase
$s4 = "gateway " ascii wide nocase
$s5 = "netmask " ascii wide nocase
$s6 = "dns-nameservers " ascii wide nocase
condition:
any of ($s*) and filesize < 10KB
}
Sigma Rule
title: CVE-2025-24347 - Network Configuration Injection Attempt
id: 12345678-1234-1234-1234-123456789abc
status: experimental
description: Detects HTTP requests to ctrlX OS network interface endpoints with suspicious payloads
author: Valters IT
date: 2025-04-10
references:
- https://nvd.nist.gov/vuln/detail/CVE-2025-24347
logsource:
category: webserver
product: apache
service: access
detection:
selection:
cs-method: 'POST'
cs-uri-stem: '/api/network/interfaces'
cs-uri-query|contains:
- 'auto'
- 'iface'
- 'address'
- 'gateway'
condition: selection
falsepositives:
- Legitimate network configuration changes by administrators
level: high
Suricata Rule
alert http $HOME_NET any -> $EXTERNAL_NET any (
msg:"CVE-2025-24347 - Potential Network Configuration Injection in ctrlX OS";
flow:to_server,established;
content:"POST"; http_method;
content:"/api/network/interfaces"; http_uri;
content:"auto"; http_client_body;
content:"iface"; http_client_body;
content:"address"; http_client_body;
classtype:attempted-admin;
sid:1000001;
rev:1;
reference:cve,2025-24347;
)
Remediation & Mitigation
Immediate Actions:
- Restrict Network Access: Limit access to the ctrlX OS web application to trusted IP addresses using firewall rules.
- Enforce Strong Authentication: Use strong passwords and consider multi-factor authentication for all users.
- Monitor Logs: Enable detailed logging for web server and system events, and review for suspicious activity.
- Backup Configuration: Regularly backup network configuration files to detect unauthorized changes.
Long-Term Fix:
- Apply vendor patch when available.
- Implement input validation and sanitization on the server side.
- Use file integrity monitoring (FIM) to alert on changes to critical configuration files.
- Conduct a security audit of the web application code.
Workarounds:
- Disable the “Network Interfaces” functionality if not required.
- Use a reverse proxy to add an additional layer of validation.
Valters IT
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.
💣 PoC CODE AVAILABLE
Exploit code for this CVE is tracked in our database.
Access poc_code via API Pro.