CVE-2026-2300 BJ Lazy Load <= 1.0.9 - Authenticated (Contributor+) Stored Cross-Site Scripting via Custom HTML Block

Medium 6.4 Published Updated

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.

Is CVE-2026-2300 in your software?

Upload an SBOM and sbomify checks it against every vulnerability here, every day.

Check your SBOMs for free