CVE-2025-14895
Authorization Bypass in PopupKit Plugin Exposes Analytics Data
Publication date: 2026-02-10
Last updated on: 2026-02-10
Assigner: Wordfence
Description
Description
CVSS Scores
EPSS Scores
| Probability: | |
| Percentile: |
Meta Information
Affected Vendors & Products
| Vendor | Product | Version / Range |
|---|---|---|
| popupkit | popupkit | to 2.2.0 (inc) |
Helpful Resources
Exploitability
| 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.