CVE Catalog

CVE-2026-87741

HighCVSS 8.8
Published: Updated: Translated: NVD NIST

Exploitation Probability (EPSS)

Low risk
0.40%

32th percentile - higher than 32% of all known CVEs

Summary

The ConvertPlus plugin for WordPress is vulnerable to Deserialization of Untrusted Data in all versions up to and including 3.6.3 via the style parameter of the cp_display_preview_modal AJAX action. The vulnerability exists because the nonce guard is gated behind an isset() check and fails open, no capability check is performed, and sanitize_text_field() does not strip shortcode delimiters, allowing an attacker to inject a second attacker-controlled [smile_modal] invocation. This allows authenticated attackers with Subscriber-level access to inject a PHP object, but impact is limited unless a POP chain is present via another plugin or theme.

Risk Assessment

The risk involves potential code execution or data manipulation if a POP chain is present in another installed component. This could lead to arbitrary file deletion, sensitive data retrieval, or code execution.

Recommendation

Update the ConvertPlus plugin to the latest available version and restrict access to low-privilege accounts. Also monitor installed plugins and themes for potential POP chains.

Related vulnerabilities

Original NVD description (English source)

The ConvertPlus plugin for WordPress is vulnerable to Deserialization of Untrusted Data in all versions up to, and including, 3.6.3 via the style parameter of the cp_display_preview_modal AJAX action. The vulnerability exists because the action's nonce guard is gated behind an isset() check and fails open when the cp_admin_page_nonce parameter is omitted entirely, no capability check is performed on the callback, and sanitize_text_field() — applied to the $style value before it is concatenated directly into a shortcode string evaluated by do_shortcode() — does not strip shortcode delimiters, allowing an attacker to inject a second, fully attacker-controlled [smile_modal] invocation that causes smile_modal_popup() to pass attacker-supplied base64-decoded bytes to maybe_unserialize() with no allowed_classes restriction. This makes it possible for authenticated attackers, with Subscriber-level access and above, to inject a PHP object. No known POP chain is present in the vulnerable software, which means this vulnerability has no impact unless another plugin or theme containing a POP chain is installed on the site. If a POP chain is present via an additional plugin or theme installed on the target system, it may allow the attacker to perform actions like delete arbitrary files, retrieve sensitive data, or execute code depending on the POP chain present.

Vulnerability data from NVD (NIST) · CISA KEV · EPSS