Punnel <= 1.3.1 - Missing Authorization to Authenticated (Subscriber+) Settings Update via 'punnel_save_config' 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: yes
- Technical impact: partial
Summary
The Punnel – Landing Page Builder plugin for WordPress is vulnerable to Missing Authorization in all versions up to, and including, 1.3.1. The save_config() function, which handles the 'punnel_save_config' AJAX action, lacks any capability check (current_user_can()) and nonce verification. This makes it possible for authenticated attackers, with Subscriber-level access and above, to overwrite the plugin's entire configuration including the API key via a POST request to admin-ajax.php. Once the API key is known (because the attacker set it), the attacker can use the plugin's public API endpoint (sniff_requests() at /?punnel_api=1) — which only validates requests by comparing a POST token against the stored api_key — to create, update, or delete arbitrary posts, pages, and products on the site.
Timeline
- CVE published
- CISA SSVC assessment
Exploitation: none · Automatable: yes · Technical impact: partial
- Record last updated
Affected versions
- punnel Punnel – Landing Page Builder
through 1.3.1
References 11
plugins.trac.wordpress.org
- browser/punnel-landing-page-builder/trunk/punnel.php#L410
- browser/punnel-landing-page-builder/tags/1.3.1/punnel.php#L410
- browser/punnel-landing-page-builder/trunk/punnel.php#L403
- browser/punnel-landing-page-builder/tags/1.3.1/punnel.php#L403
- browser/punnel-landing-page-builder/trunk/punnel.php#L179
- browser/punnel-landing-page-builder/tags/1.3.1/punnel.php#L179
- browser/punnel-landing-page-builder/trunk/punnel.php#L118
- browser/punnel-landing-page-builder/tags/1.3.1/punnel.php#L118
- browser/punnel-landing-page-builder/trunk/punnel.php#L156
- browser/punnel-landing-page-builder/tags/1.3.1/punnel.php#L156