CVE-2026-118194
Page and Post Restriction <= 1.6.1 - Unauthenticated Authentication Bypass via REST API Nonce Bypass via Cookie Re-Authentication
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.
Attack profile
How easy it is to exploit
- Attack vector
- Network
- Complexity
- Low
- Privileges needed
- None
- User interaction
- Required
What an attacker can affect
- Confidentiality
- High
- Integrity
- None
- Availability
- None
Exploit likelihood
What each source reports
CVE List Score used
6.5
Page and Post Restriction <= 1.6.1 - Unauthenticated Authentication Bypass via REST API Nonce Bypass via Cookie Re-Authentication
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.
- Record
CVE-2026-118194- CVSS 3.1
- 6.5 Medium
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:N/A:N - Weakness
- CWE-287
- Updated
- 2026-11-02
EUVDEUVD-2026-113712
6.5
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.
- Record
EUVD-2026-113712- CVSS 3.1
- 6.5 Medium
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:N/A:N - Updated
- 2026-11-02
GitHub AdvisoriesGHSA-2v5p-jw26-49xc
6.5
The Page and Post Restriction plugin for WordPress is vulnerable to Authentication Bypass in all...
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.
- Record
GHSA-2v5p-jw26-49xc- CVSS 3.1
- 6.5 Medium
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:N/A:N - Weakness
- CWE-287
- Updated
- 2026-11-02
NVD
6.5
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.
- Record
CVE-2026-118194- CVSS 3.1
- 6.5 Medium
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:N/A:N - Weakness
- CWE-287
- Updated
- 2026-11-02
Affected products
History
| Recorded | Changed | Sources |
|---|---|---|
| first indexed | CVE List, EUVD, GitHub Advisories, NVD |
Dates are when Every CVE recorded each change. Upstream dates may differ.
In short
CVE-2026-118194 is a medium vulnerability (CVSS 6.5) in Cyberlord92 Page And Post Restriction, published October 30, 2026. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 0.34%, the 28th percentile. No source names a fixed version.
References
wordfence.com/threat-intel/vulnerabilities/id/2785a4e1-64f3-4b20-b0b3-7030bd88438c?source=cve
plugins.trac.wordpress.org/browser/page-and-post-restriction/tags/1.6.0/page-and-post-restriction.php
plugins.trac.wordpress.org/browser/page-and-post-restriction?rev=3771992
plugins.trac.wordpress.org/changeset/3771992/page-and-post-restriction/trunk/page-and-post-restriction.php
nvd.nist.gov/vuln/detail/CVE-2026-118194
github.com/advisories/GHSA-2v5p-jw26-49xc