CVE-2026-4117
CalJ <= 1.5 - Authenticated (Subscriber+) Arbitrary Settings Modification via 'save-obtained-key' Action
- State
- Published
- Severity
- 5.3 Medium
- Published
- Apr 22, 2026
- Updated
- Apr 22, 2026
- Reserved
- Mar 13, 2026
Description
The CalJ plugin for WordPress is vulnerable to Missing Authorization in all versions up to, and including, 1.5. This is due to a missing capability check in the CalJSettingsPage class constructor, which processes the 'save-obtained-key' operation directly from POST data without verifying that the requesting user has the 'manage_options' capability, and without any nonce verification. The plugin bootstrap file (calj.php) instantiates CalJSettingsPage whenever is_admin() returns true, which is the case for any authenticated user making requests to wp-admin URLs (including admin-ajax.php). This makes it possible for authenticated attackers, with Subscriber-level access and above, to modify the plugin's API key setting and clear the Shabbat cache, effectively taking control of the plugin's API integration.
Scores
| CVSS | Score | Vector | Source |
|---|---|---|---|
| 3.1 | 5.3 Medium | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N | Wordfence |
Weaknesses
- CWE-862 Missing Authorization
Affected Products
| Product | Versions |
|---|---|
CalJ Shabbat Timescalj |
|
References
- https://www.wordfence.com/threat-intel/vulnerabilities/id/d1c7df8e-2f82-4474-88ef-8c8ddaeb4656?source=cve
- https://plugins.trac.wordpress.org/browser/calj/trunk/CalJSettingsPage.php#L30
- https://plugins.trac.wordpress.org/browser/calj/tags/1.5/CalJSettingsPage.php#L30
- https://plugins.trac.wordpress.org/browser/calj/trunk/CalJSettingsPage.php#L25
- https://plugins.trac.wordpress.org/browser/calj/tags/1.5/CalJSettingsPage.php#L25
- https://plugins.trac.wordpress.org/browser/calj/trunk/calj.php#L17
- https://plugins.trac.wordpress.org/browser/calj/tags/1.5/calj.php#L17
Every record here comes from the CVE Program’s CVE List. © 1999–2026 The MITRE Corporation. CVE is a registered trademark of The MITRE Corporation. The records are reproduced under the CVE Program terms of use.