Home

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.

PUBLISHED Reserved 2026-03-13 | Published 2026-04-22 | Updated 2026-04-22 | Assigner Wordfence




MEDIUM: 5.3CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N

Problem types

CWE-862 Missing Authorization

Product status

Default status
unaffected

Any version
affected

Timeline

2026-04-21:Disclosed

Credits

Nabil Irawan finder

References

www.wordfence.com/...-2f82-4474-88ef-8c8ddaeb4656?source=cve

plugins.trac.wordpress.org/...alj/trunk/CalJSettingsPage.php

plugins.trac.wordpress.org/.../tags/1.5/CalJSettingsPage.php

plugins.trac.wordpress.org/...alj/trunk/CalJSettingsPage.php

plugins.trac.wordpress.org/.../tags/1.5/CalJSettingsPage.php

plugins.trac.wordpress.org/browser/calj/trunk/calj.php

plugins.trac.wordpress.org/browser/calj/tags/1.5/calj.php

cve.org (CVE-2026-4117)

nvd.nist.gov (CVE-2026-4117)

Download JSON