WordPress Profile Builder Pro Plugin PHP Object Injection Vulnerability (CVE-2026-7647)
An unauthenticated PHP Object Injection vulnerability exists in the Profile Builder Pro WordPress plugin (versions up to 3.14.5) due to the insecure use of `maybe_unserialize()` on the 'args' POST parameter in the `wppb_request_users_pins_action_callback()` AJAX handler, potentially leading to arbitrary code execution.
The Profile Builder Pro plugin for WordPress is susceptible to a critical PHP Object Injection vulnerability (CVE-2026-7647) affecting all versions up to and including 3.14.5. This flaw stems from the plugin’s use of the maybe_unserialize() function on the attacker-controlled args POST parameter passed to the wppb_request_users_pins_action_callback() AJAX handler. Critically, this handler lacks nonce verification, input validation, and type checking, making it accessible to unauthenticated users via both wp_ajax_ and wp_ajax_nopriv_ hooks. Successful exploitation allows remote, unauthenticated attackers to inject arbitrary PHP objects into the application’s memory space, potentially leading to remote code execution depending on available classes and application configuration. The vulnerability was published on 2026-05-02.
Attack Chain
- An unauthenticated attacker identifies a WordPress site running a vulnerable version (<= 3.14.5) of the Profile Builder Pro plugin.
- The attacker crafts a malicious HTTP POST request targeting the WordPress AJAX endpoint (
/wp-admin/admin-ajax.php). - The POST request includes the
actionparameter set towppb_request_users_pins_action_callback. - The POST request includes the
argsparameter containing a serialized PHP object designed to trigger arbitrary code execution upon deserialization. - The WordPress server receives the request and invokes the
wppb_request_users_pins_action_callback()function. - The vulnerable function calls
maybe_unserialize()on the attacker-controlledargsparameter without proper sanitization or validation. - The malicious PHP object is deserialized and injected into the application’s memory space.
- The injected object’s methods and properties are triggered, leading to arbitrary code execution on the server.
Impact
Successful exploitation of this vulnerability allows an unauthenticated attacker to execute arbitrary PHP code on the target WordPress server. This can lead to complete system compromise, including data theft, website defacement, and the installation of backdoors for persistent access. Given the widespread use of WordPress and the Profile Builder Pro plugin, a large number of websites are potentially at risk until the plugin is updated.
Recommendation
- Upgrade the Profile Builder Pro plugin to the latest available version to patch CVE-2026-7647.
- Deploy the provided Sigma rule
Detect Profile Builder Pro PHP Object Injection Attemptto detect exploitation attempts targeting the vulnerable AJAX endpoint. - Monitor web server logs for POST requests to
/wp-admin/admin-ajax.phpwith theactionparameter set towppb_request_users_pins_action_callbackand suspicious serialized data in theargsparameter.
Detection coverage 2
Detect Profile Builder Pro PHP Object Injection Attempt
criticalDetects attempts to exploit the PHP Object Injection vulnerability (CVE-2026-7647) in the Profile Builder Pro plugin by monitoring POST requests to the vulnerable AJAX endpoint with suspicious serialized data.
Detect Profile Builder Pro wppb_request_users_pins_action_callback AJAX Call
mediumDetects calls to the wppb_request_users_pins_action_callback AJAX action in WordPress, potentially indicating exploitation attempts against Profile Builder Pro.
Detection queries are kept inside the platform. Get full rules →