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

CVE-2025-68069

CVE-2025-68069 Missing Authorization in Wpwax
📅 PUBLISHED: 2026-02-20 16:22 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.02%
👁️
0.02% probability
<1× above the median CVE
Tier: LOW
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 7.1
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: L Integrity Low
A: L Availability Low
7.1
THREAT LEVEL
■ tracking this CVE ✓ independent patch confirmation ⧗ same-origin mirror (GHSA) ⚠ active exploitation verification policy →

Executive Summary

CVE-2025-68069 is a Missing Authorization vulnerability in the wpWax Directorist WordPress plugin, affecting versions from n/a through 8.6.6. This flaw allows an unauthenticated attacker to exploit incorrectly configured access control security levels, potentially leading to unauthorized data access, modification, or privilege escalation. The vulnerability is classified under CWE-862 (Missing Authorization) and carries a CVSS score of 7.1 (High). As of the latest intelligence, no official patch has been released, and no public proof-of-concept (PoC) or exploit code is available. The EPSS score is 0.0%, indicating low exploitation likelihood in the wild, but the risk remains significant for unpatched 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 ecosystem via the Directorist plugin. Since it is a third-party plugin, the supply chain risk is elevated: site administrators must rely on the vendor (wpWax) for a patch. No known malicious packages or compromised updates have been reported, but the lack of a patch increases the attack surface for supply chain attacks targeting WordPress sites.

CVSS Breakdown & Threat Level

  • CVSS Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:L
  • Base Score: 7.1 (High)
  • Attack Vector: Network (AV:N) – Exploitable remotely.
  • Attack Complexity: Low (AC:L) – No special conditions required.
  • Privileges Required: None (PR:N) – No authentication needed.
  • User Interaction: None (UI:N) – No user action required.
  • Scope: Unchanged (S:U) – Vulnerability does not affect other components.
  • Confidentiality Impact: Low (C:L) – Limited data exposure.
  • Integrity Impact: Low (I:L) – Limited data modification.
  • Availability Impact: Low (A:L) – Limited service disruption.

Threat Level: High. The combination of network exploitability, low complexity, and no required privileges makes this a serious risk for any WordPress site using the Directorist plugin.

Deep Dive & Mechanics

The vulnerability resides in the Directorist plugin’s access control mechanisms. The plugin fails to properly validate user permissions before executing sensitive operations, such as viewing, editing, or deleting directory listings, categories, or user profiles. This is a classic Missing Authorization flaw (CWE-862), where the application does not enforce proper access controls on certain endpoints or functions.

Root Cause: The plugin likely uses current_user_can() checks inconsistently or omits them entirely in some REST API endpoints or AJAX handlers. An attacker can craft HTTP requests to these unprotected endpoints to perform actions that should require administrative or editor-level privileges.

Attack Vector: An unauthenticated attacker sends specially crafted HTTP requests (e.g., POST/GET to /wp-json/directorist/v1/... or AJAX actions) to exploit the missing authorization. The attack does not require any prior knowledge or credentials.

Impact: Successful exploitation could allow an attacker to:

  • View or modify directory listings.
  • Access sensitive user data (e.g., email addresses, phone numbers).
  • Escalate privileges by creating new admin users (if the plugin exposes user management endpoints).
  • Deface or manipulate directory content.

Vulnerable vs. Patched Code

Since no patch is available, we can only infer the vulnerable code pattern. The issue likely involves a function like directorist_ajax_handler() or a REST API callback that lacks proper capability checks.

Vulnerable Code (Hypothetical):

add_action('wp_ajax_nopriv_directorist_delete_listing', 'directorist_delete_listing');
function directorist_delete_listing() {
    $listing_id = $_POST['listing_id'];
    // Missing current_user_can() check
    wp_delete_post($listing_id);
    wp_die();
}

Patched Code (Expected):

add_action('wp_ajax_nopriv_directorist_delete_listing', 'directorist_delete_listing');
function directorist_delete_listing() {
    if (!current_user_can('edit_posts')) {
        wp_die('Unauthorized', 403);
    }
    $listing_id = $_POST['listing_id'];
    wp_delete_post($listing_id);
    wp_die();
}

The patch would add current_user_can() checks to all sensitive endpoints, ensuring only authorized users can perform privileged actions.

Exploitation & Lab Setup

Red Team (Exploitation)

Prerequisites:

  • A WordPress site with Directorist plugin version <= 8.6.6.
  • No authentication required.

Exploitation Steps:

  1. Identify vulnerable endpoints by analyzing the plugin’s REST API routes (e.g., /wp-json/directorist/v1/).
  2. Send a crafted HTTP request to an unprotected endpoint. For example, to delete a listing:
    curl -X POST https://target.com/wp-admin/admin-ajax.php \
      -d 'action=directorist_delete_listing&listing_id=123'
    
  3. If successful, the listing is deleted without authentication.

Note: No public exploit code is available. The above is a hypothetical example based on common patterns.

Blue Team (Detection & Defense)

Detection:

  • Monitor for unusual HTTP requests to /wp-admin/admin-ajax.php or /wp-json/directorist/v1/ with unexpected parameters.
  • Look for spikes in 403 errors (if plugin partially blocks) or successful operations without prior authentication.

Defense:

  • Immediately update the plugin if a patch becomes available.
  • Implement a Web Application Firewall (WAF) rule to block requests to sensitive Directorist endpoints from unauthenticated users.
  • Use a security plugin (e.g., Wordfence) to add virtual patching.
  • Restrict access to /wp-admin/ via IP whitelisting or VPN.

Indicators of Compromise (IOCs)

  • Network IOCs:
    • HTTP requests to /wp-admin/admin-ajax.php with action=directorist_* parameters from unauthenticated sources.
    • Unusual POST requests to /wp-json/directorist/v1/ endpoints.
  • File IOCs:
    • Modified or deleted directory listings in the database.
    • New user accounts with elevated privileges (if exploited for privilege escalation).
  • Log IOCs:
    • Access logs showing 200 responses to sensitive endpoints from IPs not associated with admin users.
    • Error logs with directorist function calls without proper capability checks.

Detection Engineering

YARA Rule

rule Detect_Directorist_Missing_Auth {
    meta:
        description = "Detects attempts to exploit CVE-2025-68069 in Directorist plugin"
        author = "Valters IT"
        date = "2025-04-10"
        reference = "CVE-2025-68069"
    strings:
        $s1 = "directorist_delete_listing" ascii wide nocase
        $s2 = "directorist_edit_listing" ascii wide nocase
        $s3 = "directorist_create_user" ascii wide nocase
    condition:
        any of them
}

Sigma Rule

title: Directorist Missing Authorization Exploitation
id: 8a4b3c2d-1e5f-6a7b-8c9d-0e1f2a3b4c5d
status: experimental
description: Detects HTTP requests targeting Directorist plugin endpoints without authentication
author: Valters IT
date: 2025/04/10
logsource:
    category: webserver
    product: apache
    service: access
detection:
    selection:
        cs-method: 'POST'
        cs-uri-query|contains: 
            - 'action=directorist_'
            - '/wp-json/directorist/v1/'
    condition: selection
falsepositives:
    - Legitimate admin actions (if authenticated)
level: high

Suricata Rule

alert http any any -> $HOME_NET any (
    msg:"CVE-2025-68069 - Directorist Missing Authorization Attempt";
    flow:to_server,established;
    content:"POST";
    http_method;
    content:"action=directorist_";
    http_client_body;
    sid:1000001;
    rev:1;
    reference:cve,2025-68069;
    classtype:attempted-admin;
    priority:1;
)

Remediation & Mitigation

Immediate Actions:

  1. Disable the Directorist plugin until a patch is released.
  2. If disabling is not possible, restrict access to the plugin’s endpoints using a WAF or .htaccess rules.
  3. Monitor logs for any signs of exploitation.

Long-term Fix:

  • Apply the official patch from wpWax as soon as it becomes available.
  • Implement a least privilege access control policy for all WordPress plugins.
  • Regularly audit plugin code for missing authorization checks.

Workaround:

  • Add a custom function to your theme’s functions.php to block unauthenticated access to Directorist AJAX actions:
    add_action('init', function() {
        if (defined('DOING_AJAX') && DOING_AJAX) {
            $action = $_POST['action'] ?? '';
            if (strpos($action, 'directorist_') === 0 && !is_user_logged_in()) {
                wp_die('Unauthorized', 403);
            }
        }
    });
    

Valters IT
Securing Digital Frontiers

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