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

CVE-2025-63041

CVE-2025-63041 Supply Chain Attack in Contributor
📅 PUBLISHED: 2026-06-26 15:16 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.
🥷 MITRE: T1190
👁️
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 5.4
AV: N Attack Vector Network
AC: L Attack Complexity Low
PR: L Privileges Required Low
UI: N User Interaction None
S: U Scope Unchanged
C: L Confidentiality Low
I: L Integrity Low
A: N Availability None
5.4
THREAT LEVEL
■ tracking this CVE ✓ independent patch confirmation ⧗ same-origin mirror (GHSA) ⚠ active exploitation verification policy →

Executive Summary

CVE-2025-63041 is a Broken Access Control vulnerability in the WordPress plugin Forget About Shortcode Buttons (versions <= 2.1.3). This flaw allows authenticated attackers with low privileges (e.g., subscriber) to perform unauthorized actions, such as modifying or deleting shortcode button configurations, leading to partial loss of integrity and confidentiality. The vulnerability is classified under CWE-862 (Missing Authorization) and has a CVSS score of 5.4 (Medium). No public proof-of-concept (PoC) or exploit code has been released, and the vendor has not provided a patch. The EPSS score is 0.0%, indicating low exploitation likelihood in the wild, but the risk remains for unpatched WordPress installations.

⚡ 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 WordPress plugin ecosystem. Since the plugin is distributed via the official WordPress Plugin Directory, any site running version 2.1.3 or earlier is at risk. No known supply chain compromise has been reported, but the lack of a patch means site administrators must manually apply mitigations or remove the plugin.

CVSS Breakdown & Threat Level

  • Attack Vector (AV): Network (N) – Exploitable remotely.
  • Attack Complexity (AC): Low (L) – No special conditions required.
  • Privileges Required (PR): Low (L) – Attacker needs a valid WordPress account (e.g., subscriber).
  • User Interaction (UI): None (N) – No victim action needed.
  • Scope (S): Unchanged (U) – Vulnerability does not affect other components.
  • Confidentiality (C): Low (L) – Limited data exposure.
  • Integrity (I): Low (L) – Limited data modification.
  • Availability (A): None (N) – No denial of service.

Threat Level: Medium. The vulnerability requires authentication but is easy to exploit once access is obtained. It is particularly dangerous in multi-author WordPress sites where low-privilege users exist.

Deep Dive & Mechanics

The Forget About Shortcode Buttons plugin adds a custom post type (or settings page) for managing shortcode buttons. The vulnerability lies in the plugin’s failure to properly check user capabilities before allowing modifications to these buttons. Specifically, the plugin uses current_user_can() incorrectly or omits it entirely in certain AJAX handlers or admin actions, allowing any authenticated user to create, edit, or delete shortcode buttons.

Root Cause: Missing capability checks in functions like fashb_save_button(), fashb_delete_button(), or similar. The plugin relies on wp_verify_nonce() but does not enforce a minimum user role (e.g., edit_posts or manage_options).

Attack Flow:

  1. Attacker logs in as a subscriber.
  2. Attacker sends a crafted POST request to the vulnerable AJAX endpoint (e.g., admin-ajax.php?action=fashb_save_button).
  3. The plugin processes the request without verifying the user’s role, allowing the attacker to modify or delete shortcode buttons.
  4. The attacker can inject malicious shortcodes or remove legitimate ones, affecting site functionality.

Vulnerable vs. Patched Code

Vulnerable Code (version 2.1.3):

add_action('wp_ajax_fashb_save_button', 'fashb_save_button');
function fashb_save_button() {
    // Missing capability check
    check_ajax_referer('fashb_nonce', 'nonce');
    // Process save...
}

Patched Code (hypothetical fix):

add_action('wp_ajax_fashb_save_button', 'fashb_save_button');
function fashb_save_button() {
    check_ajax_referer('fashb_nonce', 'nonce');
    if (!current_user_can('edit_posts')) {
        wp_die('Unauthorized', 403);
    }
    // Process save...
}

The patch adds current_user_can('edit_posts') to ensure only users with at least Contributor role can modify buttons.

Exploitation & Lab Setup

Red Team (Attacker)

Prerequisites:

  • WordPress site with Forget About Shortcode Buttons <= 2.1.3 installed.
  • Valid low-privilege account (e.g., subscriber).

Exploitation Steps:

  1. Obtain a nonce by inspecting the plugin’s admin page or by brute-forcing (if nonce is predictable).
  2. Send a crafted request to create a malicious shortcode button:
curl -X POST http://target.com/wp-admin/admin-ajax.php \
  -d "action=fashb_save_button&nonce=VALID_NONCE&button_name=evil&button_content=malicious_shortcode"
  1. Verify the button was created by visiting the plugin’s settings page or by triggering the shortcode.

Note: No public exploit code exists; this is a conceptual demonstration.

Blue Team (Defender)

Detection:

  • Monitor AJAX requests to admin-ajax.php with action fashb_save_button or fashb_delete_button from low-privilege users.
  • Look for unusual shortcode content in the button_content parameter.
  • Use the Sigma rule below to detect unauthorized access attempts.

Mitigation:

  • Immediately disable the plugin if no patch is available.
  • Restrict user roles to only trusted accounts.
  • Implement a Web Application Firewall (WAF) rule to block requests to vulnerable endpoints from non-admin users.

Indicators of Compromise (IOCs)

  • Network:
    • POST requests to /wp-admin/admin-ajax.php with action=fashb_save_button or action=fashb_delete_button from low-privilege user agents.
    • Unusual shortcode content in POST data (e.g., button_content containing [malicious]).
  • File System:
    • Modified or new entries in the wp_postmeta table for the fashb_button post type.
    • Unexpected shortcode buttons appearing in the plugin’s admin interface.
  • Logs:
    • WordPress debug log entries showing wp_die or 403 errors from fashb_save_button function (if patched).

Detection Engineering

YARA Rule

rule Detect_CVE_2025_63041_Exploit {
    meta:
        description = "Detects exploitation attempts for CVE-2025-63041 in WordPress"
        author = "Valters IT"
        date = "2025-04-10"
        reference = "CVE-2025-63041"
    strings:
        $ajax_action = "action=fashb_save_button" nocase
        $ajax_delete = "action=fashb_delete_button" nocase
        $nonce_param = "nonce=" nocase
        $button_content = "button_content=" nocase
    condition:
        any of ($ajax_action, $ajax_delete) and $nonce_param and $button_content
}

Sigma Rule

title: CVE-2025-63041 - Broken Access Control in Forget About Shortcode Buttons
id: 7a8b9c0d-1e2f-3a4b-5c6d-7e8f9a0b1c2d
status: experimental
description: Detects unauthorized AJAX requests to vulnerable WordPress plugin endpoints
author: Valters IT
logsource:
    category: webserver
    product: apache
    service: access_combined
detection:
    selection:
        cs-method: 'POST'
        cs-uri-query|contains:
            - 'admin-ajax.php'
        cs-uri-query|contains|all:
            - 'action=fashb_save_button'
            - 'nonce='
    condition: selection
falsepositives:
    - Legitimate admin actions (rare)
level: medium

Suricata Rule

alert http $HOME_NET any -> $EXTERNAL_NET any (
    msg:"CVE-2025-63041 - WordPress Forget About Shortcode Buttons Broken Access Control";
    flow:to_server,established;
    content:"POST"; http_method;
    content:"admin-ajax.php"; http_uri;
    content:"action=fashb_save_button"; http_client_body;
    content:"nonce="; http_client_body;
    sid:10000001;
    rev:1;
    reference:cve,2025-63041;
    classtype:attempted-admin;
    priority:2;
)

Remediation & Mitigation

Immediate Actions:

  1. Disable the plugin until a patch is available.
  2. Audit user roles and remove any unnecessary low-privilege accounts.
  3. Apply a virtual patch using a WAF to block requests to admin-ajax.php with action=fashb_save_button or action=fashb_delete_button from non-admin users.

Long-term Fix:

  • The vendor must release a patched version that adds proper capability checks (e.g., current_user_can('edit_posts')).
  • Alternatively, replace the plugin with a secure alternative.

Workaround:

  • Add the following code to the theme’s functions.php to block unauthorized access:
add_action('wp_ajax_fashb_save_button', function() {
    if (!current_user_can('edit_posts')) {
        wp_die('Unauthorized', 403);
    }
}, 1);

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.html:"forget-about-shortcode-buttons"
http.html:"/wp-content/plugins/forget-about-shortcode-buttons/"

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