Instant Popup Builder <= 1.1.7 - Unauthenticated Arbitrary Shortcode Execution via 'token' Parameter
- 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 Instant Popup Builder plugin for WordPress is vulnerable to Unauthenticated Arbitrary Shortcode Execution in all versions up to and including 1.1.7. This is due to the handle_email_verification_page() function constructing a shortcode string from user-supplied GET parameters (token, email) and passing it to do_shortcode() without properly sanitizing square bracket characters, combined with missing authorization checks on the init hook. While sanitize_text_field() and esc_attr() are applied, neither function strips or escapes square bracket characters ([ and ]). WordPress's shortcode regex uses [^\]\/]* to match content inside shortcode tags, meaning a ] character in the token value prematurely closes the shortcode tag. This makes it possible for unauthenticated attackers to inject and execute arbitrary registered shortcodes by crafting a malicious token parameter containing ] followed by arbitrary shortcode syntax.
Timeline
- CVE published
- CISA SSVC assessment
Exploitation: none · Automatable: yes · Technical impact: partial
- Record last updated
Affected versions
- instantpopupbuilder Instant Popup Builder – Powerful Popup Maker for Opt-ins, Email Newsletters & Lead Generation
through 1.1.7
References 6
plugins.trac.wordpress.org
- browser/instant-popup-builder/trunk/public/class-instant-popup-subscription-public.php#L1772
- browser/instant-popup-builder/tags/1.1.6/public/class-instant-popup-subscription-public.php#L1772
- browser/instant-popup-builder/trunk/public/class-instant-popup-subscription-public.php#L1761
- browser/instant-popup-builder/tags/1.1.6/public/class-instant-popup-subscription-public.php#L1761
- changeset?sfp_email=&sfph_mail=&reponame=&old=3477334%40instant-popup-builder&new=3477334%40instant-popup-builder&sfp_email=&sfph_mail=