Description
The Ziggeo plugin for WordPress is vulnerable to Missing Authorization in all versions up to, and including, 3.1.1. The wp_ajax_ziggeo_ajax handler only verifies a nonce (check_ajax_referer) but performs no capability checks via current_user_can(). Furthermore, the nonce ('ziggeo_ajax_nonce') is exposed to all logged-in users on every page via the wp_head and admin_head hooks . This makes it possible for authenticated attackers, with Subscriber-level access and above, to invoke multiple administrative operations including: saving arbitrary translation strings (translations_panel_save_strings via update_option('ziggeo_translations')), creating/updating/deleting event templates (event_editor_save_template/update_template/remove_template via update_option('ziggeo_events')), modifying SDK application settings (sdk_applications operations), and managing notifications (notification_handler via update_option('ziggeo_notifications')).
Problem types
Product status
Any version
Timeline
| 2026-04-08: | Disclosed |
Credits
Nabil Irawan
References
www.wordfence.com/...-0764-4850-8bce-d65b6b1cbe4c?source=cve
plugins.trac.wordpress.org/...ser/ziggeo/trunk/core/ajax.php
plugins.trac.wordpress.org/...iggeo/tags/3.1.1/core/ajax.php
plugins.trac.wordpress.org/...min/page_translations_ajax.php
plugins.trac.wordpress.org/...min/page_translations_ajax.php
plugins.trac.wordpress.org/...in/page_editor_events_ajax.php
plugins.trac.wordpress.org/...in/page_editor_events_ajax.php
plugins.trac.wordpress.org/.../trunk/admin/page_sdk_ajax.php
plugins.trac.wordpress.org/.../3.1.1/admin/page_sdk_ajax.php
plugins.trac.wordpress.org/...r/ziggeo/trunk/core/header.php
plugins.trac.wordpress.org/...geo/tags/3.1.1/core/header.php
plugins.trac.wordpress.org/...40ziggeo&sfp_email=&sfph_mail=