# Bulk Page Generator <= 3.1.0 - Authenticated (Subscriber+) Missing Authorization to App Connection Token Generation

- **ID:** WPSEC-2026-0986
- **Plugin:** Bulk Page Generator – LPagery (`lpagery`), https://wordpress.org/plugins/lpagery/
- **Affected versions:** from 2.3.8 before 3.1.1
- **Fixed in:** 3.1.1 (Update to 3.1.1 or later.)
- **Severity:** Medium 5.4 (CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:L/A:N)
- **Weakness:** CWE-862
- **Usage among sites WPSec scans:** plugin Low, affected versions None seen (as of 2026-10-15)
- **Attack surface analysis:** https://attacksurface.wpsec.com/plugin/lpagery
- **Fix released:** 2026-10-14
- **Published:** 2026-10-15
- **URL:** https://wpsec.com/vuln/WPSEC-2026-0986/

## Description

The LPagery plugin for WordPress is vulnerable to unauthorized access via the LPagery App connection flow in all versions up to, and including, 3.1.0, due to missing capability checks. The authorization handler runs on the admin_menu hook, which fires for every logged-in user, and it does not check that the user can manage options. Neither the code-for-token exchange REST endpoint (lpagery/app/v1/token) nor the bearer token validator checks the user's capabilities either. This makes it possible for authenticated attackers, with subscriber-level access and above, to create an App Connection authorization code and obtain a bearer token tied to their account. The plugin's App REST endpoints accept that token, so they can reach administrator-only functions such as reading posts, creating and updating generated pages, and deleting generated pages.

## References

- https://wpsec.com/vuln/WPSEC-2026-0986/
- https://plugins.svn.wordpress.org/lpagery/tags/3.1.1/
- https://wordpress.org/plugins/lpagery/

Source: WPSec, https://wpsec.com/vuln/WPSEC-2026-0986/

License: CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/). Free to use, share and adapt, also commercially, if you credit WPSec and link to this advisory.
