{"id":"CVE-2026-89270","published":"2026-10-31T07:16:37.707","lastModified":"2026-10-31T07:16:37.707","description":"The Popup Builder – Create highly converting, mobile friendly marketing popups. plugin for WordPress is vulnerable to authorization bypass in all versions up to, and including, 4.4.5 This is due to the plugin not properly verifying that a user is authorized to perform an action. This makes it possible for unauthenticated attackers to trash all published popups on the site with a single unauthenticated GET request. The attack is amplified by a second flaw in SGPopup::find(), which returns false for every normally published popup when the sg_popup_preview_id parameter is present, causing the trash branch to fire against every popup on the site simultaneously.","cvssScore":9.1,"cvssSeverity":"CRITICAL","cvssVector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:H","cwes":["CWE-862"],"vendors":[],"products":[],"references":[{"url":"https://plugins.trac.wordpress.org/browser/popup-builder/tags/4.4.5/com/classes/Filters.php#L43","tags":[]},{"url":"https://plugins.trac.wordpress.org/browser/popup-builder/tags/4.4.5/com/classes/Filters.php#L435","tags":[]},{"url":"https://plugins.trac.wordpress.org/browser/popup-builder/tags/4.4.5/com/classes/popups/SGPopup.php#L1826","tags":[]},{"url":"https://plugins.trac.wordpress.org/browser/popup-builder/tags/4.4.5/com/classes/popups/SGPopup.php#L1830","tags":[]},{"url":"https://plugins.trac.wordpress.org/browser/popup-builder/tags/4.4.5/com/classes/popups/SGPopup.php#L257","tags":[]},{"url":"https://plugins.trac.wordpress.org/changeset/3755160/popup-builder/trunk/com/classes/popups/SGPopup.php","tags":[]},{"url":"https://wordpress.org/plugins/popup-builder/","tags":[]},{"url":"https://www.wordfence.com/threat-intel/vulnerabilities/id/13af3a6e-d3ef-41f0-9424-fe2c9b17c8bb?source=cve","tags":[]}],"exploitRefs":[],"hasPoc":false,"ai":{"summary":"The Popup Builder WordPress plugin (up to v4.4.5) lacks proper authorization checks, allowing unauthenticated attackers to delete all published popups via a single GET request due to an authorization bypass combined with flawed logic in the preview parameter handler.","exploitability":"Trivial to exploit—no authentication or user interaction required; any attacker can send a single unauthenticated GET request to trigger mass trashing of popups.","blast_radius":"Complete loss of all published popup content on the site, potentially disrupting marketing campaigns and user engagement without affecting other site functionality.","remediation":"Upgrade to Popup Builder version 4.4.6 or later, which includes the vendor's fix for the authorization bypass and SGPopup::find() flaw.","detection":"Look for unauthenticated GET requests to the plugin's popup management endpoint (e.g., /wp-admin/admin-ajax.php?action=sgpb_trash_popup) with no valid user session or nonce, especially when the sg_popup_preview_id parameter is present in the request.","tags":["auth-bypass","popup-builder","wordpress","mass-deletion","unauthenticated"],"model":"garnet-coder","analyzedAt":"2026-10-31T08:50:30.905Z"}}