CVE-2026-2300 BJ Lazy Load <= 1.0.9 - Authenticated (Contributor+) Stored Cross-Site Scripting via Custom HTML Block
Authenticated attackers with Contributor access can inject arbitrary scripts via the Custom HTML Block in the BJ Lazy Load WordPress plugin.
- Exploited in the wild
- Not known
- Login needed
- Any signed-in user
- Attackable
- Over the internet
- Victim action needed
- Not needed
- Fix
- None listed
What is CVE-2026-2300?
CVE-2026-2300 is a medium-severity cross-site scripting vulnerability in bjornjohansen BJ Lazy Load, published on 12 May 2026. Any signed-in user can exploit it over the network, with no action from the victim.
Official description
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.
Weakness: CWE-79
Which versions are affected by CVE-2026-2300?
How do I fix CVE-2026-2300?
No fix has been published for CVE-2026-2300 yet. Limit exposure of the affected software until one is available.
Escape output for the context it lands in and set a strict Content Security Policy. Upgrading the affected component is the real fix. More about Cross-site scripting.
Is CVE-2026-2300 being exploited?
There is no known exploitation of CVE-2026-2300 in the wild and no public exploit code.
Sources
Also known as GHSA-xfmv-2x8g-8rjp.