Read the docs

Authentication bypass in Page and Post Restriction WordPress plugin

Priority LOW 29CWE-287Published · Updated

Key facts

Attack vector
Network
Privileges required
None
User interaction
Required
Attack complexity
Low
Impact type
Security bypass
Confidentiality · integrity · availability
High · None · None
Fix status
No fix listed

Attack profile from CVSS 3.1 · CNA. Fix status from CNA. Impact type from CWE-287.

Summary

The Page and Post Restriction plugin for WordPress is affected in all versions through 1.6.1. Its REST API code re-authenticates users from the logged-in cookie on GET and HEAD requests without a nonce check, undoing WordPress core protection (CWE-287). An unauthenticated remote attacker lures a logged-in user to a page that makes credentialed cross-origin requests, reading restricted posts, pages, profile data and comments.

Written with Claude Haiku 5.5 from the sources below · 2026-10-30

Description from the CNA

The Page and Post Restriction plugin for WordPress is vulnerable to Authentication Bypass in all versions up to, and including, 1.6.1 This is due to the `papr_restrict_page_post_rest_api()` function, hooked on `rest_pre_dispatch`, re-authenticating the current user from the `wordpress_logged_in` cookie via `wp_set_current_user()` for any GET or HEAD REST request where the current user is 0, without verifying a REST nonce — silently undoing the nonce-zeroing that WordPress core's `rest_cookie_check_errors()` performs on cookie-authenticated requests that lack an `X-WP-Nonce` header or `_wpnonce` parameter. Combined with WordPress's permissive REST CORS behavior — which echoes the request `Origin` and sets `Access-Control-Allow-Credentials: true` — this allows an unauthenticated attacker to read REST API GET responses as a logged-in victim, exposing role-restricted and private post/page content, victim user profile data via `/wp-json/wp/v2/users/me`, and comments the victim is authorized to see. This requires the attacker to lure a logged-in user into visiting an attacker-controlled page that issues credentialed cross-origin `fetch` requests against the target site's REST API; no nonce or further victim interaction beyond the page visit is needed.

Why it matters now

Exploitation None reported CISA SSVC · not in CISA KEV
EPSS 0.00344 28th percentileScored 2026-11-07
Fix No fix listed No fixed version in the sources yet

SSVC decision points

CISA ADP · SSVC 2.0.3

Exploitation
None
Automatable
No
Technical impact
Partial

The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.

Affected products

VendorProductAffected versionsFixed inStatusSource
miniOrangePage and Post Restrictionup to 1.6.1—No fix listedCNA
  • Page and Post Restriction VendorminiOrange Affected up to 1.6.1 Fixed in — No fix listed CNA

Remediation

No fixed version is listed for Page and Post Restriction.

Written with Claude Haiku 5.5 from the sources below · 2026-10-30

Timeline

  1. 2026-10-30 Threatist record created from CVE-2026-118194
  2. 2026-10-30 Alias added: GHSA-2v5p-jw26-49xc
  3. 2026-10-30 CISA SSVC decision points changed
  4. 2026-10-30 Priority changed: MEDIUM → LOW

References

  • TI-2023-05558 Web3 – Crypto wallet Login & NFT token gating < 3.0.0 - Authentication Bypass CVSS 3.1CRITICAL 9.8
  • TI-2023-02794 WordPress Social Login and Register (Discord, Google, Twitter, LinkedIn) <= 7.6.4 - Authentication Bypass CVSS 3.1CRITICAL 9.8
  • TI-2022-15071 WordPress OAuth Single Sign On – SSO (OAuth Client) Plugin <= 6.23.3 is vulnerable to Broken Authentication CVSS 3.1HIGH 8.8
  • TI-2021-22592 WordPress Plugin Backup and Restore 1.0.3 Arbitrary File Deletion CVSS 4.0HIGH 8.7
  • TI-2023-04605 Active Directory Integration < 4.1.10 - Unauthenticated Log Disclosure CVSS 3.1HIGH 7.5
  • TI-2024-09173 Login using WordPress Users ( WP as SAML IDP ) <= 1.15.6 - Authenticated (Administrator+) SQL Injection CVSS 3.1HIGH 7.2
See all 128 →

Sources