CVE-2026-125948: Recipe Card Blocks Lite <= 3.7.0 - Authenticated (Contributor+) Stored Cross-Site Scripting via 'steps' Block Attribute
The Recipe Card Blocks Lite plugin for WordPress is vulnerable to Stored Cross-Site Scripting via the 'steps[].text' parameter in all versions up to, and including, 3.7.0 due to insufficient input sanitization and output escaping. This makes it possible for authenticated attackers, with contributor-level access and above, to inject arbitrary web scripts in pages that will execute whenever a user accesses an injected page. Because wpksespost() preserves block-delimiter HTML comments verbatim on save, a Contributor can embed event-handler payloads inside the block's steps[].text attribute in a draft or pending post without the unfilteredhtml capability, and the payload executes for any visitor — including privileged editors and administrators who preview or publish the post — as well as through the public print endpoint.
Affected Software
Event History
Frequently Asked Questions
Who can exploit this vulnerability?
An attacker needs an authenticated WordPress account with Contributor-level permissions or higher. The attacker does not need the unfiltered_html capability and can place the payload in a draft or pending post.
Who is exposed to the injected script?
Any user who accesses an injected page can trigger the script, including editors and administrators who preview or publish the malicious post. The payload can also execute through the public print endpoint.
Are sites affected if contributors cannot publish posts?
Yes. A Contributor can inject the payload into draft or pending content, and it can execute when a privileged user previews or publishes that content.
What can be done if updating is not immediately possible?
Restrict or remove Contributor-and-higher access for untrusted users, and review draft and pending posts containing Recipe Card Blocks Lite steps content before previewing or publishing them.