Ziggeo <= 3.1.1 - Missing Authorization to Authenticated (Subscriber+) Arbitrary Modification via 'ziggeo_ajax' AJAX Action
- Published
- Last modified
- Where the record stands: published, rejected by its publisher, or superseded by another id.What do these mean? →
- published
- Whether CISA lists it in its Known Exploited Vulnerabilities catalog: proof that attackers are using it.What do these mean? →
- Not listed in CISA KEV
- Whether working attack code is public (Exploit-DB, Metasploit, Nuclei or GitHub). Public code makes attacks easier.What do these mean? →
- None on Exploit-DB, Metasploit or GitHub
- Exploitation: none
- Automatable: no
- Technical impact: partial
Summary
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')).
Timeline
- CVE published
- CISA SSVC assessment
Exploitation: none · Automatable: no · Technical impact: partial
- Record last updated
Affected versions
- oliverfriedmann Ziggeo
through 3.1.1
References 12
plugins.trac.wordpress.org
- browser/ziggeo/trunk/core/ajax.php#L31
- browser/ziggeo/tags/3.1.1/core/ajax.php#L31
- browser/ziggeo/trunk/admin/page_translations_ajax.php#L13
- browser/ziggeo/tags/3.1.1/admin/page_translations_ajax.php#L13
- browser/ziggeo/trunk/admin/page_editor_events_ajax.php#L13
- browser/ziggeo/tags/3.1.1/admin/page_editor_events_ajax.php#L13
- browser/ziggeo/trunk/admin/page_sdk_ajax.php#L8
- browser/ziggeo/tags/3.1.1/admin/page_sdk_ajax.php#L8
- browser/ziggeo/trunk/core/header.php#L67
- browser/ziggeo/tags/3.1.1/core/header.php#L67
- changeset?sfp_email=&sfph_mail=&reponame=&old=3494290%40ziggeo&new=3494290%40ziggeo&sfp_email=&sfph_mail=