CalJ <= 1.5 - Authenticated (Subscriber+) Arbitrary Settings Modification via 'save-obtained-key' Action
Key facts
- Attack vector
- Network
- Privileges required
- None
- User interaction
- None
- Attack complexity
- Low
- Impact type
- Security bypass
- Confidentiality · integrity · availability
- None · Low · None
- Fix status
- No fix listed
Attack profile from CVSS 3.1 · CNA. Fix status from CNA. Impact type from CWE-862.
Summary
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.
Why it matters now
SSVC decision points
CISA ADP · SSVC 2.0.3
- Exploitation
- None
- Automatable
- Yes
- Technical impact
- Partial
The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.
Affected products
Remediation
No fixed version listed by the sources yet.
Timeline
- 2026-10-02 Threatist record created from CVE-2026-4117
- 2026-10-03 Alias added: GHSA-5mhq-hh7f-vmww
References
Other 7
- 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
Sources
- CVE-2026-4117 · CVE Program
- CVE-2026-4117 · NVD
- FIRST EPSS
- GHSA-5mhq-hh7f-vmww · GitHub Advisory Database · CC BY 4.0
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences