☠️
EXFILTRATING
DATA...
01010111 10110010 00101001 11000110 01101100 10011011 00010001 11100101 01000010 10101111
[ <-- BACK_TO_SEARCH ]
[ VENDOR STATS ]
CVSS: 4.3 CVSS:3.1/AV:N/AC:L/PR:L/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-14384

CVE-2025-14384 Unauthorized Access in All in one seo
📅 PUBLISHED: 2026-01-16 04:44 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: TA0006
👁️
MITRE ATT&CK Tactic - Describes the strategy hackers use to execute this attack.
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: L Privileges Required Low
UI: N User Interaction None
S: U Scope Unchanged
C: L Confidentiality Low
I: N Integrity None
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-14384 is a vulnerability in the All in One SEO WordPress plugin, affecting all versions up to and including 4.9.2. The flaw resides in the /aioseo/v1/ai/credits REST API route, which lacks a proper capability check. This allows authenticated attackers with at least Contributor-level access to retrieve the global AI access token. The token could be used to access external AI services (e.g., OpenAI) at the site owner's expense, leading to unauthorized usage and potential data leakage. The vulnerability has a CVSS score of 4.3 (Medium) and is currently unpatched.

⚡ 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 is specific to the WordPress plugin ecosystem. The plugin is distributed via the official WordPress Plugin Directory and can be installed directly from the WordPress admin dashboard. No supply chain compromise of the plugin's source code repository has been reported. However, the lack of a patch increases the risk for sites that rely on this plugin for SEO management.

CVSS Breakdown & Threat Level

  • CVSS Score: 4.3 (Medium)
  • Vector: CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:N
  • Attack Vector: Network
  • Attack Complexity: Low
  • Privileges Required: Low (Contributor-level or above)
  • User Interaction: None
  • Scope: Unchanged
  • Confidentiality Impact: Low (disclosure of AI token)
  • Integrity Impact: None
  • Availability Impact: None

Threat Level: Medium. While the direct impact is limited to token disclosure, the token could be abused to access paid AI services, leading to financial loss or further compromise.

Deep Dive & Mechanics

The vulnerability is a Missing Authorization (CWE-862) in the REST API endpoint /aioseo/v1/ai/credits. This endpoint is intended to return information about the site's AI credits, including the global AI access token. The plugin fails to verify that the requesting user has the necessary administrative privileges (e.g., manage_options) before returning sensitive data.

Root Cause: The REST route registration does not include a permission_callback or uses an insufficient one. The code likely relies on is_user_logged_in() or a similar check that only verifies authentication, not authorization.

Attack Flow:

  1. An attacker gains authenticated access to a WordPress site with Contributor-level privileges (e.g., via a compromised user account or a separate vulnerability).
  2. The attacker sends a GET request to /wp-json/aioseo/v1/ai/credits.
  3. The server responds with the AI access token in the JSON response.
  4. The attacker can then use this token to make API calls to the external AI service (e.g., OpenAI) on behalf of the site owner.

Vulnerable vs. Patched Code

Since no patch is available, the vulnerable code is assumed to be in the plugin's REST API registration. A typical vulnerable pattern would be:

// Vulnerable: No permission_callback or insufficient check
register_rest_route( 'aioseo/v1', '/ai/credits', array(
    'methods' => 'GET',
    'callback' => 'aioseo_get_ai_credits',
    'permission_callback' => '__return_true' // or missing
) );

A patched version would include a proper capability check:

// Patched: Check for admin capability
register_rest_route( 'aioseo/v1', '/ai/credits', array(
    'methods' => 'GET',
    'callback' => 'aioseo_get_ai_credits',
    'permission_callback' => function() {
        return current_user_can( 'manage_options' );
    }
) );

Exploitation & Lab Setup

Red Team (Exploitation)

Prerequisites:

  • A WordPress site running All in One SEO <= 4.9.2.
  • An authenticated user account with Contributor-level or higher privileges.

Exploitation Steps:

  1. Obtain a valid WordPress nonce or cookie for the authenticated session.
  2. Send a GET request to the vulnerable endpoint:
    curl -X GET "https://target.com/wp-json/aioseo/v1/ai/credits" \
      -H "Cookie: wordpress_logged_in_<hash>=<session_cookie>"
    
  3. Parse the JSON response to extract the token field.
  4. Use the token to access the external AI service (e.g., OpenAI API).

Example Response:

{
  "success": true,
  "data": {
    "credits": 100,
    "token": "sk-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
  }
}

Blue Team (Detection & Hardening)

Detection:

  • Monitor REST API access logs for requests to /wp-json/aioseo/v1/ai/credits from non-admin users.
  • Alert on any unusual API calls to external AI services (e.g., OpenAI) originating from the WordPress server.

Hardening:

  • Temporarily disable the AI features of the plugin until a patch is released.
  • Restrict Contributor-level users from accessing the REST API by using a plugin like "WP REST API Controller".
  • Implement a Web Application Firewall (WAF) rule to block requests to the vulnerable endpoint from non-admin IPs.

Indicators of Compromise (IOCs)

  • Network:
    • HTTP GET requests to /wp-json/aioseo/v1/ai/credits with a 200 response.
    • Outbound API calls to api.openai.com or similar AI service endpoints using a token that matches the site's AI token.
  • File:
    • Unusual entries in WordPress debug log (wp-content/debug.log) related to REST API errors.
  • User:
    • Contributor-level accounts making REST API calls to admin-only endpoints.

Detection Engineering

YARA Rule

rule detect_cve_2025_14384_exploit {
    meta:
        description = "Detects exploitation attempts for CVE-2025-14384 in All in One SEO plugin"
        author = "Valters IT"
        date = "2025-04-10"
        reference = "https://nvd.nist.gov/vuln/detail/CVE-2025-14384"
    strings:
        $endpoint = "/aioseo/v1/ai/credits"
        $token_pattern = /"token"\s*:\s*"sk-[A-Za-z0-9]+"/
    condition:
        $endpoint and $token_pattern
}

Sigma Rule

title: CVE-2025-14384 - All in One SEO AI Token Disclosure
id: 8a9b7c6d-5e4f-3a2b-1c0d-9e8f7a6b5c4d
status: experimental
description: Detects unauthorized access to the AI credits endpoint in All in One SEO plugin
author: Valters IT
date: 2025-04-10
logsource:
    category: webserver
    product: apache
    service: access_combined
detection:
    selection:
        cs-method: 'GET'
        cs-uri-stem: '/wp-json/aioseo/v1/ai/credits'
        sc-status: 200
    condition: selection
falsepositives:
    - Legitimate admin access
level: medium

Suricata Rule

alert http $HOME_NET any -> $EXTERNAL_NET any (
    msg:"CVE-2025-14384 - All in One SEO AI Token Disclosure Attempt";
    flow:to_server,established;
    content:"GET";
    http_method;
    content:"/wp-json/aioseo/v1/ai/credits";
    http_uri;
    classtype:attempted-recon;
    sid:10000001;
    rev:1;
)

Remediation & Mitigation

Immediate Actions:

  1. Disable AI Features: In the plugin settings, disable any AI-powered features (e.g., "AI Title & Meta Descriptions") to prevent token exposure.
  2. Restrict User Roles: Ensure no Contributor-level or Author-level users have unnecessary access. Consider using a role editor plugin to remove REST API access for low-privilege roles.
  3. Monitor Logs: Review access logs for any suspicious requests to the vulnerable endpoint.

Long-term Fix:

  • Await an official patch from the plugin vendor. Once released, update to the patched version immediately.
  • If the plugin is not updated within a reasonable timeframe, consider replacing it with an alternative SEO plugin that does not have this vulnerability.

Workaround Code: Add a custom function to your theme's functions.php to block the vulnerable endpoint for non-admin users:

add_filter( 'rest_pre_dispatch', function( $result, $server, $request ) {
    if ( strpos( $request->get_route(), '/aioseo/v1/ai/credits' ) !== false ) {
        if ( ! current_user_can( 'manage_options' ) ) {
            return new WP_Error( 'rest_forbidden', 'Access denied', array( 'status' => 403 ) );
        }
    }
    return $result;
}, 10, 3 );

Valters IT
Securing WordPress Ecosystems

👁️ 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:"All in One SEO"
http.html:"aioseo"
http.html:"/wp-content/plugins/all-in-one-seo-pack/"

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