Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessIdentify WordPress site running Page and Post Restriction ≤ 1.4.0
-
DeliveryConfirm global 'Make all Pages/Posts Private' toggle is active
-
ExploitSend unauthenticated GET to /wp-json/wp/v2/pages or /posts
-
ExecutionREST guard queries only per-post metabox data
-
PersistGlobal restriction not consulted
-
ImpactFull 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 |
| 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 |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – 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
Affected Packages
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
AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N
REST endpoints are network-accessible with no authentication; restricted content is fully exposed; no integrity or availability impact applies.
Primary rating from Vendor (Wordfence).
CVSS VectorVendor: Wordfence
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
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.
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
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.
What every action level means
SSVC AssessmentENISA
Priority Score
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.
EUVD-2026-53188
GHSA-j2cm-38v7-pfcv
NVD
CVE.org
EPSS
Vulnrichment
Exploit-DB