Related Posts for WordPress exposes titles of non-public posts
Key facts
- Attack vector
- Network
- Privileges required
- Low
- User interaction
- None
- Attack complexity
- Low
- Impact type
- Security bypass
- Confidentiality · integrity · availability
- Low · None · None
- Fix status
- No fix listed
Attack profile from CVSS 3.1 · CNA. Fix status from CNA. Impact type from CWE-862.
Summary
The Related Posts for WordPress plugin by barrykooij, up to and including 3.0.0, has a missing authorization flaw (CWE-862) in its admin link creation. The plugin does not check that a linked child post is readable by the user, so its title is shown in the parent's editor meta box. An authenticated attacker with Contributor access or higher can read the titles of non-public posts, such as drafts and private posts, written by higher-privileged users.
Written with Claude Haiku 5.5 from the sources below · 2026-10-29
Description from the CNA
The Related Posts for WordPress plugin for WordPress is vulnerable to Sensitive Information Exposure in versions up to, and including, 3.0.0 via the 'rp4wp_create_link' parameter of the hidden 'rp4wp_link_related' admin page. The handle_create_link() handler verifies the nonce and that the current user can edit the parent post, but never checks that the attacker-supplied child post ID is one the user is allowed to read; LinkRepository::insert() stores the arbitrary child ID without validation, and ManageLinks::render() later calls LinkRepository::get_children() in its no-extra-args fast path, which falls through to array_map('get_post', $child_ids) — bypassing read_private_posts/read_post capability checks — and then echoes esc_html($child->post_title) in the parent's editor meta box. This makes it possible for authenticated attackers, with Contributor-level access and above, to read the titles of arbitrary non-public posts (drafts, pending, private, future, trashed) authored by higher-privileged users by linking those post IDs to a draft they own and then reading the resulting meta box.
Why it matters now
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
| Vendor | Product | Affected versions | Fixed in | Status | Source |
|---|---|---|---|---|---|
| barrykooij | Related Posts for WordPress | up to 3.0.0 | — | No fix listed | CNA |
- Related Posts for WordPress Vendorbarrykooij Affected up to 3.0.0 Fixed in — No fix listed CNA
Remediation
The sources list no fixed version for Related Posts for WordPress.
Written with Claude Haiku 5.5 from the sources below · 2026-10-29
Timeline
- 2026-10-28 Threatist record created from CVE-2026-109979
- 2026-10-28 Alias added: GHSA-88jc-p652-m75v
- 2026-10-29 CISA SSVC decision points changed
References
Other 7
- https://www.wordfence.com/threat-intel/vulnerabilities/id/3ab9af6a-bfe7-4da5-8e60-b20f38cbab36?source=cve
- https://plugins.trac.wordpress.org/browser/related-posts-for-wp/tags/3.0.0/src/Admin/LinkScreen/Page.php#L164
- https://plugins.trac.wordpress.org/browser/related-posts-for-wp/tags/3.0.0/src/Links/LinkRepository.php#L86
- https://plugins.trac.wordpress.org/browser/related-posts-for-wp/tags/3.0.0/src/Admin/MetaBox/ManageLinks.php#L98
- https://plugins.trac.wordpress.org/browser/related-posts-for-wp/tags/3.0.0/src/Links/LinkRepository.php#L310
- https://plugins.trac.wordpress.org/changeset?reponame=&old=3757484%40related-posts-for-wp&new=3757484%40related-posts-for-wp
- https://plugins.trac.wordpress.org/changeset/3757484/related-posts-for-wp/trunk/src/Admin/LinkScreen/Page.php
More barrykooij vulnerabilities
- TI-2025-32791 WordPress Post Connector Plugin <= 1.0.11 - Cross Site Scripting (XSS) Vulnerability CVSS 3.1HIGH 7.1
- TI-2026-81744 Related Posts for WordPress exposes private post titles CVSS 3.1MEDIUM 4.3
Sources
- CVE-2026-109979 · CVE Program
- CVE-2026-109979 · NVD
- FIRST EPSS
- GHSA-88jc-p652-m75v · GitHub Advisory Database · CC BY 4.0
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences