Popup Box 6.4.1 - 6.4.2 - Unauthenticated Arbitrary Shortcode Execution via Client-IP / X-Forwarded-For HTTP Headers
Strategic Overview
- Status
- Patched in 6.4.3
- Affected Version
6.4.1 – 6.4.2- CVSS
- 4.8Medium
- Weakness type
- CWE-94 · Improper Control of Generation of Code ('Code Injection')
- CVE
CVE-2026-100159
At a glance
CVE-2026-100159 is a medium-severity Improper Control of Generation of Code ('Code Injection') vulnerability in the Popup Box WordPress plugin, affecting versions 6.4.1 – 6.4.2. It carries a CVSS score of 4.8 (reachable over the network). Exploitation requires no authentication. The issue is fixed in version 6.4.3; sites on affected versions should update now. Disclosed October 2026, reported by YC_Infosec.
Vulnerability Overview
The Popup Box plugin for WordPress is vulnerable to Arbitrary Shortcode Execution in versions 6.4.1 to 6.4.2. This is due to the ays_popup_get_user_ip() function reading the client-controlled Client-IP / X-Forwarded-For / Forwarded / X-Forwarded / Forwarded-For request headers, sanitizing them only with sanitize_text_field() (which does not strip the bracket, quote, space, or '=' characters used by shortcode syntax), substituting the value into a popup body wherever the %%user_ip_address%% token appears (a raw str_replace with no escaping in Ays_Pb_Data::replace_message_variables()), and then passing the resulting body to do_shortcode() in Ays_Pb_Public::ays_autoembed() at output on the wp_footer hook. This makes it possible for unauthenticated attackers to execute arbitrary registered shortcodes with attacker-supplied attributes on the server whenever an administrator has added the %%user_ip_address%% token to a popup's Custom Content body, which can be leveraged to read arbitrary data or perform other actions exposed by shortcodes installed on the site.
Technical Analysis
The vector marks this flaw as remotely reachable over the network, and no privileges on the target site, and no interaction from a victim user.
CWE-94: Improper Control of Generation of Code ('Code Injection')
Popup Box 6.4.1 – 6.4.2 carries this weakness at ays_popup_get_user_ip(), and reaching it takes no account at all. Code injection means input from a request reaches a language construct that evaluates code, so the attacker's text is executed rather than treated as data.
The injected code runs with the web server's privileges, giving the attacker the same access to the database and filesystem as WordPress itself. For Popup Box the fix is 6.4.3: builds 6.4.1 – 6.4.2 are affected, anything from 6.4.3 onward is not.
Remediation
Update to version 6.4.3, or a newer patched version
How does WordSec protect against this?
Requests carrying this pattern arrive without a session, so nothing upstream of the firewall gets a chance to reject them: WordSec's web application firewall inspects request payloads before WordPress loads them. Classes like this one can leave something behind, so the staged malware scanner is the second half: it looks for dropped files and modified code rather than for the request that created them. None of that substitutes for the fix: Popup Box 6.4.3 closes this, and updating the plugin is the step that ends it.
- Firewall
- Scanner
- Login Security
External References
Related records
Other vulnerabilities in Popup Box – Create Countdown, Coupon, Video, Contact Form Popups
- 8.8CVE-2021-24458: Popup box < 2.3.4 SQL Injection
CVE-2021-24458 - 7.2CVE-2025-15611: Popup Box Stored XSS
CVE-2025-15611 - 6.6CVE-2023-6591: Popup Box Business (7.0.0 7.9.0) and Developer (20.0.0
CVE-2023-6591 - 6.1CVE-2026-54192: Popup Box Reflected XSS
CVE-2026-54192 - 6.1CVE-2024-34367: Popup box <= 4.1.2 Cross-Site Request Forgery
CVE-2024-34367 - 6.1Popup box <= 2.3.3 Cross-Site Scripting
- 5.4CVE-2023-27414: Popup box <= 3.4.4 Reflected Cross-Site Scripting
CVE-2023-27414 - 5.3CVE-2024-10861: Popup Box Unauthenticated Limited Options Update
CVE-2024-10861
Vulnerability data © Defiant, Inc., provided under the Wordfence Intelligence T&C