What the vulnerability does
01Description
The BJ Lazy Load plugin for WordPress is vulnerable to Stored Cross-Site Scripting via the `filter_images()` function in all versions up to, and including, 1.0.9. This is due to the use of regex-based HTML processing (`preg_replace`) that does not properly handle HTML attribute boundaries when replacing `src` attributes, allowing crafted content inside a `class` attribute value to be promoted to real DOM attributes after processing. 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.
Explanation of Vulnerability in Simple Terms
02Summary
BJ Lazy Load versions 1.0.9 and earlier contain a cross-site scripting (XSS) vulnerability that allows authenticated users to inject malicious scripts. The vulnerability affects the site's scope, meaning injected code can impact other users and site functionality. An attacker with low-level access can execute JavaScript in visitors' browsers without user interaction.
What an attacker can do
03Attacker Capabilities
Inject and execute malicious JavaScript in other users' browsers.
Potential impact on your site
04Site Impact
Authenticated users with low privileges can inject scripts affecting other visitors and site operations.
Conditions required to exploit
05Prerequisites
Attacker must have low-level authenticated access to the site.
Key dates
06Disclosure timeline
May 12, 2026
CVE published
May 13, 2026
Record updated