WowOptin: Next-Gen Popup Maker <= 1.4.29 - Unauthenticated Server-Side Request Forgery via 'link' Parameter in REST API
- 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 WowOptin: Next-Gen Popup Maker plugin for WordPress is vulnerable to Server-Side Request Forgery in all versions up to, and including, 1.4.29. This is due to the plugin exposing a publicly accessible REST API endpoint (optn/v1/integration-action) with a permission_callback of __return_true that passes user-supplied URLs directly to wp_remote_get() and wp_remote_post() in the Webhook::add_subscriber() method without any URL validation or restriction. The plugin does not use wp_safe_remote_get/post which provide built-in SSRF protection. This makes it possible for unauthenticated attackers to make web requests to arbitrary locations originating from the web application, which can be used to query and modify information from internal services.
Timeline
- CVE published
- CISA SSVC assessment
Exploitation: none · Automatable: yes · Technical impact: partial
- Record last updated
Affected versions
- wpxpo WowOptin: Next-Gen Popup Maker – Create Stunning Popups and Optins for Lead Generation
through 1.4.29
References 10
plugins.trac.wordpress.org
- browser/optin/trunk/includes/integrations/implementations/class-webhook.php#L38
- browser/optin/tags/1.4.23/includes/integrations/implementations/class-webhook.php#L38
- browser/optin/trunk/includes/integrations/implementations/class-webhook.php#L45
- browser/optin/tags/1.4.23/includes/integrations/implementations/class-webhook.php#L45
- browser/optin/trunk/frontend/class-rest-frontend.php#L55
- browser/optin/tags/1.4.23/frontend/class-rest-frontend.php#L55
- browser/optin/trunk/frontend/class-rest-frontend.php#L44
- browser/optin/tags/1.4.23/frontend/class-rest-frontend.php#L44
- changeset?sfp_email=&sfph_mail=&reponame=&old=3484392%40optin&new=3484392%40optin&sfp_email=&sfph_mail=