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

CVE-2025-26902

CVE-2025-26902 Cross-Site Request Forgery in Brizy
📅 PUBLISHED: 2025-04-09 20:15 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.31%
👁️
0.31% probability
7.7× above the median CVE
Tier: ELEVATED
30-day exploitation window · FIRST.org · updated daily
🥷 MITRE: T1204
👁️
MITRE ATT&CK Tactic - Describes the strategy hackers use to execute this attack.
Country: Estonia License: Freemium
VULNERABLE: version not auto-detected — verify your deployed version locally
CVSS VECTOR BREAKDOWN 4.3
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: N Confidentiality None
I: L Integrity Low
A: N Availability None
4.3
THREAT LEVEL
■ tracking this CVE ✓ independent patch confirmation ⧗ same-origin mirror (GHSA) ⚠ active exploitation verification policy →

Executive Summary

CVE-2025-26902 is a Cross-Site Request Forgery (CSRF) vulnerability in the Brizy Pro WordPress plugin, affecting versions up to and including 2.8.0. This flaw allows an attacker to trick an authenticated administrator into performing unintended actions, such as modifying plugin settings or injecting malicious content, without their consent. The vulnerability is classified under CWE-352 and has a CVSS score of 4.3 (Medium). As a WordPress ecosystem issue, the attack surface is limited to the plugin’s administrative functions and does not involve server-level components like Apache or Nginx.

⚡ 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 affects the Brizy Pro plugin distributed via the WordPress plugin ecosystem. No official patch has been released as of the analysis date. Users are advised to monitor the vendor’s update channel and apply any future patches immediately. The plugin is not distributed via NPM, PyPI, Go, or Ruby registries.

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 trigger the CSRF.
  • User Interaction (UI): Required (R) – Victim must be logged in as admin and click a crafted link.
  • Scope (S): Unchanged (U) – The vulnerable component remains the same.
  • Confidentiality (C): None (N) – No data exposure.
  • Integrity (I): Low (L) – Limited ability to modify settings or content.
  • Availability (A): None (N) – No denial-of-service impact.

Threat Level: Medium. Exploitation requires social engineering to lure an admin, but the impact is limited to configuration changes.

Deep Dive & Mechanics

The CSRF vulnerability in Brizy Pro arises from missing or insufficient anti-CSRF tokens in administrative actions. When an authenticated WordPress administrator visits a malicious page or clicks a crafted link, the attacker can forge requests to the Brizy Pro backend, such as:

  • Changing plugin settings (e.g., API keys, license data).
  • Modifying page/post content via the Brizy builder.
  • Triggering import/export functions.

The attack does not require direct access to the victim’s session; it relies on the browser automatically sending cookies with each request. The vulnerability is present in all versions <= 2.8.0, with no known patch available.

Vulnerable vs. Patched Code

Since no patch is available, the vulnerable code is presumed to be in the plugin’s AJAX handlers or form processing functions that lack nonce verification. A typical vulnerable pattern in WordPress plugins is:

// Vulnerable: No nonce check
add_action('wp_ajax_brizy_save_settings', 'brizy_save_settings');
function brizy_save_settings() {
    update_option('brizy_settings', $_POST['settings']);
    wp_die('OK');
}

A patched version would include a nonce verification:

// Patched: Nonce check added
add_action('wp_ajax_brizy_save_settings', 'brizy_save_settings');
function brizy_save_settings() {
    if (!wp_verify_nonce($_POST['_wpnonce'], 'brizy_save_settings_nonce')) {
        wp_die('Invalid nonce');
    }
    update_option('brizy_settings', $_POST['settings']);
    wp_die('OK');
}

Exploitation & Lab Setup

Red Team (Attacker)

  1. Prerequisites: A WordPress site with Brizy Pro <= 2.8.0 installed and an authenticated admin session.
  2. Craft the CSRF payload: Create an HTML page that auto-submits a form to the vulnerable endpoint.
  3. Deliver the payload: Send the link to the admin via email, social engineering, or a compromised site.

Example CSRF HTML payload:

<html>
<body>
<form action="http://target-site.com/wp-admin/admin-ajax.php" method="POST" id="csrf_form">
    <input type="hidden" name="action" value="brizy_save_settings">
    <input type="hidden" name="settings" value='{"malicious_key":"malicious_value"}'>
</form>
<script>document.getElementById('csrf_form').submit();</script>
</body>
</html>

Blue Team (Defender)

  1. Monitor for unusual AJAX requests to admin-ajax.php with action=brizy_* parameters.
  2. Implement CSRF tokens in all Brizy Pro forms and AJAX handlers.
  3. Use SameSite cookies (set to Lax or Strict) to mitigate cross-origin requests.
  4. Educate administrators about phishing attacks and the risks of clicking unknown links.

Indicators of Compromise (IOCs)

  • Network: HTTP POST requests to /wp-admin/admin-ajax.php with action=brizy_* parameters from unexpected referrers.
  • Logs: WordPress debug log entries showing unauthorized settings changes.
  • File: Modified wp_options table entries for brizy_settings or similar.
  • Behavior: Sudden changes to Brizy Pro configuration without admin interaction.

Detection Engineering

YARA Rule

rule CVE_2025_26902_CSRF_Brizy {
    meta:
        description = "Detects CSRF exploitation attempts against Brizy Pro <= 2.8.0"
        author = "Valters IT"
        date = "2025-04-10"
        reference = "CVE-2025-26902"
    strings:
        $ajax_action = "brizy_save_settings" nocase
        $ajax_action2 = "brizy_import" nocase
        $ajax_action3 = "brizy_export" nocase
        $wp_ajax = "admin-ajax.php" nocase
    condition:
        any of ($ajax_action*) and $wp_ajax
}

Sigma Rule

title: CVE-2025-26902 Brizy Pro CSRF Exploitation
id: 8a3f7c2e-5d1b-4a9f-8c6e-2b3d1f0a9e7c
status: experimental
description: Detects HTTP POST requests to WordPress admin-ajax.php with Brizy Pro actions
author: Valters IT
date: 2025-04-10
logsource:
    category: webserver
    product: apache
    service: accesslog
detection:
    selection:
        cs-method: POST
        cs-uri-query|contains: 
            - "admin-ajax.php"
        cs-uri-query|contains|all:
            - "action=brizy_"
    condition: selection
falsepositives:
    - Legitimate Brizy Pro admin actions
level: medium

Suricata Rule

alert http $HOME_NET any -> $EXTERNAL_NET any (msg:"CVE-2025-26902 Brizy Pro CSRF Attempt"; flow:to_server,established; content:"POST"; http_method; content:"admin-ajax.php"; http_uri; content:"action=brizy_"; http_client_body; classtype:attempted-admin; sid:1000001; rev:1;)

Remediation & Mitigation

  1. Immediate: Disable or remove the Brizy Pro plugin until a patch is available.
  2. Short-term: Implement a Web Application Firewall (WAF) rule to block requests to admin-ajax.php with action=brizy_* parameters from external referrers.
  3. Long-term: Apply the vendor patch when released. If custom development is possible, add nonce verification to all Brizy Pro AJAX handlers.
  4. User education: Train administrators to recognize and avoid phishing attempts.

Valters IT
Securing Digital Frontiers

👁️ 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.

http.title:"Brizy"
http.html:"brizy-pro"

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