CVE-2025-12898
Unauthorized Access in Pretty Google Calendar Plugin Exposes API Key
Publication date: 2025-12-20
Last updated on: 2026-04-08
Assigner: Wordfence
Description
Description
CVSS Scores
EPSS Scores
| Probability: | |
| Percentile: |
Meta Information
Affected Vendors & Products
| Vendor | Product | Version / Range |
|---|---|---|
| lbell | pretty_google_calendar | 2.0.0 |
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 Pretty Google Calendar WordPress plugin is due to a missing capability check in the pgcal_ajax_handler() function in versions up to and including 2.0.0. This flaw allows unauthenticated attackers to access and retrieve the Google API key configured in the plugin's settings without authorization.
How can this vulnerability impact me? :
This vulnerability can lead to unauthorized disclosure of the Google API key used by the plugin. An attacker obtaining this key could potentially misuse it to access Google Calendar data or exceed API usage limits, which might result in service disruption or data exposure depending on how the API key is used.
What immediate steps should I take to mitigate this vulnerability?
To mitigate this vulnerability, update the Pretty Google Calendar plugin to a version later than 2.0.0 where the missing capability check on the pgcal_ajax_handler() function has been fixed. Ensure that your plugin is up to date with the latest security patches provided by the developer. [2]
How can this vulnerability be detected on my network or system? Can you suggest some commands?
This vulnerability can be detected by checking for unauthorized access attempts to the pgcal_ajax_handler() function in the Pretty Google Calendar plugin, which may reveal the Google API key. One approach is to monitor HTTP requests to the WordPress site for calls to the AJAX handler related to the plugin, especially unauthenticated requests. For example, you can use command-line tools like curl or wget to test if the endpoint is accessible without authentication. A sample command to test might be: curl -X POST https://yourwordpresssite.com/wp-admin/admin-ajax.php?action=pgcal_ajax_handler -d 'some_payload' -v. Additionally, reviewing web server logs for suspicious POST requests to admin-ajax.php with the action parameter set to pgcal_ajax_handler can help detect exploitation attempts. Network intrusion detection systems (NIDS) can be configured to alert on such patterns. However, specific commands or detection signatures are not provided in the available resources.