CVE-2025-14895
Awaiting Analysis Awaiting Analysis - Queue
Authorization Bypass in PopupKit Plugin Exposes Analytics Data

Publication date: 2026-02-10

Last updated on: 2026-02-10

Assigner: Wordfence

Description
The PopupKit plugin for WordPress is vulnerable to authorization bypass in all versions up to, and including, 2.2.0. This is due to the plugin not properly verifying that a user is authorized to access the /popup/logs REST API endpoint. This makes it possible for authenticated attackers, with Subscriber-level access and above, to read and delete analytics data including device types, browser information, countries, referrer URLs, and campaign metrics.
CVSS Scores
EPSS Scores
Probability:
Percentile:
Meta Information
Published
2026-02-10
Last Modified
2026-02-10
Generated
2026-05-27
AI Q&A
2026-02-10
EPSS Evaluated
2026-05-25
NVD
EUVD
Affected Vendors & Products
Showing 1 associated CPE
Vendor Product Version / Range
popupkit popupkit to 2.2.0 (inc)
Helpful Resources
Exploitability
CWE
CWE Icon
KEV
KEV Icon
CWE ID Description
CWE-862 The product does not perform an authorization check when an actor attempts to access a resource or perform an action.
Attack-Flow Graph
AI Powered Q&A
Can you explain this vulnerability to me?

The vulnerability in the PopupKit WordPress plugin (up to version 2.2.0) is an authorization bypass issue. It occurs because the plugin does not properly verify whether a user is authorized to access the /popup/logs REST API endpoint.

This flaw allows authenticated users with Subscriber-level access or higher to read and delete analytics data such as device types, browser information, countries, referrer URLs, and campaign metrics without proper permission.

Technically, the plugin lacked sufficient permission checks on GET and DELETE methods for the logs endpoint, allowing unauthorized access to sensitive data. Later versions (2.2.1) introduced nonce-based permission checks to mitigate this issue.


How can this vulnerability impact me? :

[{'type': 'paragraph', 'content': 'This vulnerability can impact you by allowing unauthorized users with low-level access (Subscriber role) to read and delete sensitive analytics data collected by the PopupKit plugin.'}, {'type': 'list_item', 'content': 'Exposure of device types and browser information of your website visitors.'}, {'type': 'list_item', 'content': 'Access to geographic data such as countries of visitors.'}, {'type': 'list_item', 'content': 'Exposure of referrer URLs and campaign metrics that could reveal marketing strategies.'}, {'type': 'list_item', 'content': 'Potential deletion of analytics logs, leading to loss of important data for business insights.'}, {'type': 'paragraph', 'content': "Overall, this could lead to privacy breaches, loss of data integrity, and unauthorized manipulation of your website's analytics."}] [3, 1]


How does this vulnerability affect compliance with common standards and regulations (like GDPR, HIPAA)?:

I don't know


How can this vulnerability be detected on my network or system? Can you suggest some commands?

[{'type': 'paragraph', 'content': 'This vulnerability involves unauthorized access to the /popup/logs REST API endpoint in the PopupKit WordPress plugin versions up to 2.2.0. Detection can focus on monitoring REST API requests to this endpoint, especially GET requests which do not require authentication and may expose sensitive data.'}, {'type': 'paragraph', 'content': 'You can detect potential exploitation attempts by inspecting HTTP requests to the /wp-json/popup/logs endpoint on your WordPress site.'}, {'type': 'list_item', 'content': 'Use web server access logs to search for requests to the vulnerable endpoint, for example:'}, {'type': 'list_item', 'content': 'grep "/wp-json/popup/logs" /var/log/apache2/access.log'}, {'type': 'list_item', 'content': 'Check for suspicious or repeated GET requests to this endpoint from authenticated users with Subscriber-level access or higher.'}, {'type': 'list_item', 'content': 'Use curl or similar tools to test if the endpoint is accessible without proper authorization, for example:'}, {'type': 'list_item', 'content': 'curl -i https://yourwordpresssite.com/wp-json/popup/logs'}, {'type': 'list_item', 'content': 'Monitor for absence of nonce verification headers (HTTP_X_WP_NONCE) in POST, PUT, or DELETE requests to /popup/logs, which should be required in patched versions.'}] [1, 3]


What immediate steps should I take to mitigate this vulnerability?

The primary mitigation is to update the PopupKit plugin to version 2.2.1 or later, where nonce-based permission checks have been implemented to secure the REST API endpoints.

If immediate updating is not possible, consider the following temporary measures:

  • Restrict access to the /wp-json/popup/logs REST API endpoint via web server rules or firewall to trusted users only.
  • Disable or restrict the PopupKit plugin REST API endpoints by custom code or security plugins to prevent unauthorized access.
  • Monitor and audit access logs for suspicious activity targeting the vulnerable endpoints.

Applying the official patch (version 2.2.1) is the most effective and recommended step, as it enforces nonce verification and proper permission checks to prevent unauthorized data access and manipulation.


Ask Our AI Assistant
Need more information? Ask your question to get an AI reply (Powered by our expertise)
0/70
EPSS Chart