Skip to main content

Page and Post Restriction EUVDEUVD-2026-53188

| CVE-2026-12000 HIGH
Missing Authorization (CWE-862)
2026-08-05 Wordfence GHSA-j2cm-38v7-pfcv
7.5
CVSS 3.1 · Vendor: Wordfence
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Identify WordPress site running Page and Post Restriction ≤ 1.4.0
  2. Delivery
    Confirm global 'Make all Pages/Posts Private' toggle is active
  3. Exploit
    Send unauthenticated GET to /wp-json/wp/v2/pages or /posts
  4. Execution
    REST guard queries only per-post metabox data
  5. Persist
    Global restriction not consulted
  6. Impact
    Full restricted content returned in JSON response

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V8 - Authorization Authorization checks on every request
MITRE ATT&CK

1 technique across 1 tactic: Privilege Escalation

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

Exploitation requires the Page and Post Restriction plugin version ≤ 1.4.0 to be installed and active, AND the target site must be using the plugin's global restriction toggles ('Make all Pages Private' / papr_access_for_only_loggedin, or 'Make all Posts Private' / papr_access_for_only_loggedin_posts) rather than relying solely on per-post/page metabox settings. The WordPress REST API must be publicly accessible, which is the default on all standard WordPress installations. Sites using exclusively per-post or per-page metabox-level restrictions are NOT affected by this bypass, as those code paths are correctly enforced. No authentication is required (PR:N per CVSS vector); no user interaction is required. The frontend restriction enforced by papr_restrict_logged_in_users() is bypassed entirely because it operates on HTML responses, not REST API responses.

Impact

The NVD CVSS 7.5 (AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N) accurately reflects the attack characteristics: network-accessible, zero complexity, no authentication required, and full confidentiality impact on restricted content. The attack is automatable - a single HTTP GET to the WordPress REST API endpoint suffices, with no brute-forcing, interaction, or specialized tooling. EPSS data was not provided, limiting probability estimation; however, the low exploitation barrier suggests moderate-to-high probability if targeted. No CISA KEV listing and no disclosed POC mean exploitation is plausible but not confirmed as active. A critical nuance that modulates real-world risk: only sites configured with the global 'Make all Pages Private' or 'Make all Posts Private' toggles are affected - sites using exclusively per-post metabox restrictions are NOT exposed by this bypass. This conditional scope means the effective population at risk is a subset of the plugin's install base, making this a genuine priority for affected configurations rather than a universal High for all deployments.

Exploit ScenarioDerived

An attacker identifies a WordPress site running Page and Post Restriction ≤ 1.4.0 with the 'Make all Pages Private' global toggle enabled, then issues an unauthenticated GET request to https://target.example.com/wp-json/wp/v2/pages. Because papr_get_restricted_posts_id() returns an empty or incomplete list under this configuration, the REST guard applies no restriction and returns the full rendered content of every protected page in the JSON response. No credentials, session tokens, or special tooling are required beyond a standard HTTP client.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
No patch listed yet 0.7% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Aug 05, 2026

Sensitive information exposure in the Page and Post Restriction WordPress plugin (versions ≤ 1.4.0) allows unauthenticated attackers to read the full rendered content of every published page and post on sites relying on the plugin's global privacy toggles. The plugin's REST API guards - papr_restrict_page_post_rest_api() and the the_posts filter in papr_filter_posts() - consult only per-post/page metabox settings and completely ignore the 'Make all Pages Private' and 'Make all Posts Private' global options, leaving the /wp-json/wp/v2/pages and /wp-json/wp/v2/posts endpoints unguarded. No public exploit is identified at time of analysis, but the attack is trivially executable with a single unauthenticated HTTP GET request.

RemediationAI

Upgrade the Page and Post Restriction plugin to version 1.4.2 or later; the fix is confirmed present in the 1.4.1 plugin repository tag (https://plugins.trac.wordpress.org/browser/page-and-post-restriction/tags/1.4.1/page-and-post-restriction.php#L69) with a subsequent release at 1.4.2 per the trac changeset. For sites unable to update immediately, the most targeted workaround is to migrate from the global 'Make all Pages Private' / 'Make all Posts Private' toggles to per-post/page metabox restrictions, which the guard code does correctly enforce - though this is operationally burdensome on large sites and does not replicate global behavior precisely. As an alternative compensating control, restrict access to /wp-json/wp/v2/pages and /wp-json/wp/v2/posts at the web server or WAF layer to authenticated sessions only; note that this may break REST-dependent themes, mobile apps, or third-party integrations that legitimately require public API access. Wordfence advisory: https://www.wordfence.com/threat-intel/vulnerabilities/id/f01302aa-00ef-440a-9c37-4fde6bb4bb4d.

Affected VersionsENISA

Page and Post Restriction 0 ≤1.4.1

Affected Packages

euvd page_and_post_restriction no fix

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

The Page and Post Restriction plugin (CPE: cpe:2.3:a:cyberlord92:page_and_post_restriction:*:*:*:*:*:*:*:*) provides two distinct restriction mechanisms: per-post/page metabox settings (stored in papr_allowed_redirect_for_pages and papr_allowed_redirect_for_posts) and site-wide global toggles (papr_access_for_only_loggedin and papr_access_for_only_loggedin_posts). The internal helper papr_get_restricted_posts_id() - called by both the REST API guard registered on rest_pre_dispatch and the the_posts filter - only reads the metabox options, never the global toggle options. This creates an authorization decision that is correct for per-post restrictions but structurally incomplete for global restrictions, matching CWE-862 (Missing Authorization): a check exists but fails to consult all relevant access-control state. WordPress's REST API, enabled by default, exposes full post content including rendered blocks and meta to unauthenticated callers when no effective guard intercepts the request.

Know when Page And Post Restriction gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (Wordfence) PRIMARY 7.5 HIGH
AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N
vuln.today AI 7.5 HIGH

REST endpoints are network-accessible with no authentication; restricted content is fully exposed; no integrity or availability impact applies.

3.1 AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N
4.0 AV:N/AC:L/AT:P/PR:N/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N

Primary rating from Vendor (Wordfence).

CVSS VectorVendor: Wordfence

Attack Vector
Network
Attack Complexity
Low
Privileges Required
None
User Interaction
None
Scope
Unchanged
Confidentiality
High
Integrity
None
Availability
None

DescriptionCVE.org

The Page and Post Restriction plugin for WordPress is vulnerable to Sensitive Information Exposure in versions up to and including 1.4.0 via the WordPress core REST endpoints /wp-json/wp/v2/pages, /wp-json/wp/v2/pages/<id>, /wp-json/wp/v2/posts, and /wp-json/wp/v2/posts/<id>. This is due to the plugin's REST guards - papr_restrict_page_post_rest_api() and the the_posts filter registered by papr_filter_posts() - sourcing their restricted-ID list exclusively from papr_get_restricted_posts_id(), which only reads the per-page metabox options papr_allowed_redirect_for_pages and papr_allowed_redirect_for_posts and never consults the two global toggles papr_access_for_only_loggedin and papr_access_for_only_loggedin_posts that the plugin's own UI describes as 'Make all Pages Private' / 'Make all Posts Private'. This makes it possible for unauthenticated attackers to read the full rendered content of every published page and post on sites configured with the documented global toggles, bypassing the security boundary enforced on the frontend by papr_restrict_logged_in_users().

Executive ViewAI

Why It Matters

The Page and Post Restriction WordPress plugin (versions ≤ 1.4.0) exposes all restricted page and post content to unauthenticated users via the REST API, rendering the plugin's privacy protections ineffective. Organizations relying on this plugin to keep sensitive content private are currently broadcasting that content publicly. This poses immediate confidentiality risk and potential compliance violations for any site using the affected versions.

Business Impact: High
Compensating Controls

No vendor-released patch identified at time of analysis. Interim mitigations: (1) Disable the plugin entirely if content privacy is not operationally critical; (2) Implement web server rules to restrict access to /wp-json/wp/v2/pages and /wp-json/wp/v2/posts endpoints (e.g., .htaccess or nginx location blocks); (3) Restrict REST API access to internal IP ranges only if the REST API is required for legitimate use; (4) Audit and re-classify any content previously marked private through this plugin as potentially exposed until patched.

Threat Intelligence Overview

EPSS Score
0.7%
Top 52% exploitable
Prevalence
Low
niche WordPress plugin with limited documented install base
Data Quality
5 sources
Confidence: Medium

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity HIGH
CISA KEV No
Public POC No
EPSS 0.7%
Patch available No
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision
Scheduled
Exploitation
None
System Exposure· derived
Open
Automatable
Yes
Human Impact
High
Technical Impact
Partial

Priority Score

39
Low Medium High Critical
KEV: 0
EPSS: +1
CVSS: +38
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Authentication bypass attacks exploit flaws in the verification mechanisms that control access to systems and applications.

Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy