CVE-2026-9008
Description
The Page-list plugin for WordPress is vulnerable to Missing Authorization in all versions up to, and including, 6.2. This is due to the pagelist_unqprfx_ext_shortcode() function (the [pagelist_ext] / [pagelistext] shortcode) accepting attacker-controlled post_status, post_type, and show_meta_key attributes and passing them directly into get_pages() and get_post_meta() with no capability check verifying that the rendering user is permitted to read the matched objects. When the current post has no child pages, the shortcode re-issues the query with child_of => 0, broadening it to every page on the site matching the supplied status/type. This makes it possible for authenticated attackers, with contributor-level access and above, to disclose the titles, body content/excerpts, and arbitrary post meta of unrelated private and draft pages by inserting the shortcode into a contributor-authored draft and previewing it.
References
- https://plugins.trac.wordpress.org/browser/page-list/tags/5.9/page-list.php#L188
- https://plugins.trac.wordpress.org/browser/page-list/tags/5.9/page-list.php#L301
- https://plugins.trac.wordpress.org/browser/page-list/tags/5.9/page-list.php#L303
- https://plugins.trac.wordpress.org/browser/page-list/tags/5.9/page-list.php#L383
- https://plugins.trac.wordpress.org/changeset?sfp_email=&sfph_mail=&reponame=&old=3552931%40page-list&new=3552931%40page-list&sfp_email=&sfph_mail=