Skip to main content

WP Popular Posts EUVDEUVD-2026-90477

| CVE-2026-92548 MEDIUM
Information Exposure (CWE-200)
2026-10-01 Wordfence GHSA-595h-4jf9-gr2r
5.3
CVSS 3.1 · Vendor: Wordfence
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Identify site running WP Popular Posts ≤7.4.2
  2. Exploit
    Send unauthenticated REST request with context=edit and non-public post_type
  3. Execution
    Plugin skips permission check and calls prepare_item_for_response()
  4. Impact
    Harvest raw content, password, meta, status, guid of private objects

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V14 - Data Protection Data exposure prevention
MITRE ATT&CK

2 techniques across 2 tactics: Collection, Discovery

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

No special conditions beyond reachability - remote unauthenticated exploitation against default configurations of WP Popular Posts ≤7.4.2, since the vulnerable REST route is registered with permission_callback __return_true and requires no authentication, user interaction, or non-default setting. The practical limiting factor is data-dependent rather than access-dependent: the target site must contain non-public post objects (drafts, private posts, password-protected posts, or wp_block synced patterns) holding sensitive values for the disclosure to yield anything meaningful; a site with no sensitive private content leaks little.

Impact

The CVSS 3.1 vector (AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N, 5.3 Medium) describes a fully remote, unauthenticated, low-complexity information-disclosure flaw with no integrity or availability impact. No EPSS score, CISA KEV listing, or public POC was provided, so exploitation status is 'no public exploit identified at time of analysis' - this is not a confirmed in-the-wild priority. No SSVC decision data was supplied. The signals are internally consistent: the root cause (a REST route registered with permission_callback __return_true that forwards a caller-supplied context=edit into WP_REST_Posts_Controller::prepare_item_for_response() without get_item_permissions_check()/check_read_permission()) genuinely supports unauthenticated read access, matching PR:N/AV:N. The one point worth scrutiny is the confidentiality rating: Wordfence scored C:L, but the exposed fields include raw post content body, post password, meta, status, and guid of non-public objects (e.g., wp_block synced patterns) - arguably C:H depending on what sensitive data sites store in private/draft content. On balance this is a real but moderate issue: trivially exploitable and broadly reachable, yet limited to reading post-object fields rather than full compromise, and dependent on sensitive non-public posts actually existing on the target.

Exploit ScenarioDerived

An unauthenticated attacker sends a crafted request to the plugin's public REST endpoint, supplying context=edit and an arbitrary post_type (such as wp_block), causing the plugin to return edit-context fields - raw title/content, password, meta, status, guid - for non-public posts that WordPress core would normally withhold from anonymous callers. No POC was provided, but the flaw is network-reachable with low complexity and requires no authentication or user interaction.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
No patch listed yet 0.3% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Oct 01, 2026

Unauthenticated information disclosure in WP Popular Posts (all versions up to and including 7.4.2) lets any remote attacker read sensitive edit-context fields - raw title, raw content body, password, meta, status, and guid - from non-public post objects such as drafts, private or password-protected posts, and wp_block synced patterns that WordPress core itself refuses to expose to anonymous callers. Scoring CVSS 3.1 as AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N (5.3 Medium), the flaw requires no authentication, user interaction, or non-default configuration because the plugin's REST route is registered with a permission_callback of __return_true and passes the caller-supplied context parameter (for example context=edit) directly into WP_REST_Posts_Controller::prepare_item_for_response() while the underlying query accepts an arbitrary post_type without enforcing public or show_in_rest visibility. The practical limit is data-dependent rather than access-dependent - a site with no sensitive non-public content leaks little - and no public exploit code or confirmed active exploitation was identified at time of analysis.

RemediationAI

No tagged patched release is confirmed at time of analysis, but upstream fix code is available: the WordPress.org Trac changeset 3715724 modifies wordpress-popular-posts trunk, including src/Rest/PostsEndpoint.php (https://plugins.trac.wordpress.org/changeset/3715724/wordpress-popular-posts/trunk and https://plugins.trac.wordpress.org/changeset/3715724/wordpress-popular-posts/trunk/src/Rest/PostsEndpoint.php), so the status is best described as upstream fix available (changeset/commit); released patched version not independently confirmed. Administrators should upgrade to the first plugin release published after 7.4.2 that incorporates this changeset, and monitor the Wordfence advisory (https://www.wordfence.com/threat-intel/vulnerabilities/id/09c63c2f-d2d3-4c39-8329-0e0e5b62db98?source=cve) for the version number once assigned. If immediate removal or update is not possible, apply compensating controls in this order: block or rate-limit the plugin's REST route at the web server, reverse proxy, or WAF (deny anonymous access to the /wp-json path used by the plugin and strip caller-supplied context=edit parameters) - the trade-off is that any legitimate front-end feature or headless integration that consumes this endpoint will stop working; alternatively deactivate the WP Popular Posts plugin entirely until a patched version is installed, which removes all plugin-driven widgets and blocks from the site; or, where the plugin must stay active, restrict the vulnerable route to trusted IP ranges or authenticated requests only and audit the site for non-public post objects (drafts, private and password-protected posts, wp_block synced patterns) that contain credentials, unpublished content, or secrets, since reducing the amount of sensitive non-public content directly reduces the value of the disclosure. Note that this is a read-only disclosure flaw - there is no integrity or availability impact and no evidence of destructive behaviour - so remediation priorities should focus on stopping the leak rather than on rebuilding compromised data.

Affected VersionsENISA

WP Popular Posts 0 ≤7.4.2

Affected Packages

euvd wp_popular_posts no fix

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

WP Popular Posts is a WordPress plugin (CPE cpe:2.3:a:hcabrera:wp_popular_posts:*:*:*:*:*:*:*:*) that registers its own REST API endpoints to power popular-post widgets, blocks, and shortcodes. According to the reported code references, PostsEndpoint.php registers the route with a permission_callback of __return_true (line 38), accepts a caller-controlled context parameter (line 51), and passes that value into WP_REST_Posts_Controller::prepare_item_for_response() (line 96) without first invoking get_item_permissions_check() or check_read_permission(). Because prepare_item_for_response() honours the 'edit' context by returning raw, unfiltered fields - raw title, raw content body, post password, meta, status, and guid - the missing permission gate converts a read-oriented endpoint into an editing-context data source. The second component of the bug is in Query.php (line 421), where the post_type value is accepted without enforcing the public or show_in_rest flags, so the query can retrieve object types such as wp_block synced patterns that core deliberately hides from unauthenticated REST callers. The root cause maps to CWE-200 (Exposure of Sensitive Information to an Unauthorized Actor): an authorization-context confusion between read and edit representations of a post object, combined with an unvalidated query parameter, yields unauthenticated disclosure of data that core's own REST layer protects behind capability checks.

Know when Wp Popular Posts gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (Wordfence) PRIMARY 5.3 MEDIUM
AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N
vuln.today AI 5.3 MEDIUM

Unauthenticated network REST route with no interaction (AV:N/AC:L/PR:N/UI:N); read-only exposure of post-object fields gives C:L (arguably C:H given raw content/password) with no I/A impact.

3.1 AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N
4.0 AV:N/AC:L/AT:N/PR:N/UI:N/VC:L/VI:N/VA:N/SC:N/SI:N/SA:N

Primary rating from Vendor (Wordfence).

CVSS VectorVendor: Wordfence

Attack Vector
Network
Attack Complexity
Low
Privileges Required
None
User Interaction
None
Scope
Unchanged
Confidentiality
Low
Integrity
None
Availability
None

DescriptionCVE.org

The WP Popular Posts plugin for WordPress is vulnerable to Sensitive Information Exposure in all versions up to, and including, 7.4.2 via the 'context' parameter. This makes it possible for unauthenticated attackers to extract sensitive edit-context fields - including raw title, raw content body, password, meta, status, and guid - from non-public post objects such as wp_block synced patterns that WordPress core itself refuses to expose to unauthenticated callers. This is possible because the plugin's REST route is registered with a permission_callback of __return_true and passes the caller-supplied context parameter (e.g., context=edit) directly to WP_REST_Posts_Controller::prepare_item_for_response() without invoking get_item_permissions_check() or check_read_permission(), while the underlying query accepts an arbitrary post_type value without enforcing public or show_in_rest visibility flags.

Threat Intelligence Overview

EPSS Score
0.3%
Top 77% exploitable
Prevalence
Medium
very popular WordPress stats/trending-posts plugin, hundreds of thousands of installs
Data Quality
5 sources
Confidence: Medium

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity MEDIUM
CISA KEV No
Public POC No
EPSS 0.3%
Patch available No
Active threat No
Deciding rule
MEDIUM severity (CVSS 4.0-6.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Scheduled
Exploitation
None
System Exposure· derived
Open
Automatable
Yes
Human Impact· derived
Medium
Technical Impact
Partial

Priority Score

26
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +26
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy