CVE-2026-2300
BJ Lazy Load <= 1.0.9 - Authenticated (Contributor+) Stored Cross-Site Scripting via Custom HTML Block
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.
Attack profile
How easy it is to exploit
- Attack vector
- Network
- Complexity
- Low
- Privileges needed
- Low
- User interaction
- None
What an attacker can affect
- Confidentiality
- Low
- Integrity
- Low
- Availability
- None
Exploit likelihood
What each source reports
CVE List Score used
6.4
BJ Lazy Load <= 1.0.9 - Authenticated (Contributor+) Stored Cross-Site Scripting via Custom HTML Block
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.
- Record
CVE-2026-2300- CVSS 3.1
- 6.4 Medium
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:L/I:L/A:N - Weakness
- CWE-79
- Updated
- 2026-11-02
EUVDEUVD-2026-29388
6.4
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.
- Record
EUVD-2026-29388- CVSS 3.1
- 6.4 Medium
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:L/I:L/A:N - Updated
- 2026-11-02
GitHub AdvisoriesGHSA-xfmv-2x8g-8rjp
6.4
The BJ Lazy Load plugin for WordPress is vulnerable to Stored Cross-Site Scripting via the ...
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.
- Record
GHSA-xfmv-2x8g-8rjp- CVSS 3.1
- 6.4 Medium
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:L/I:L/A:N - Weakness
- CWE-79
- Updated
- 2026-11-02
NVD
6.4
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.
- Record
CVE-2026-2300- CVSS 3.1
- 6.4 Medium
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:L/I:L/A:N - Weakness
- CWE-79
- Updated
- 2026-11-02
Affected products
History
| Recorded | Changed | Sources |
|---|---|---|
| first indexed | CVE List, EUVD, GitHub Advisories, NVD |
Dates are when Every CVE recorded each change. Upstream dates may differ.
In short
CVE-2026-2300 is a medium vulnerability (CVSS 6.4) in Bjornjohansen Bj Lazy Load, published May 12, 2026. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 0.19%, the 9th percentile. No source names a fixed version.
References
wordfence.com/threat-intel/vulnerabilities/id/f443846f-4d70-4ca0-beeb-d2e839b14765?source=cve
plugins.trac.wordpress.org/browser/bj-lazy-load/trunk/inc/class-bjll.php
plugins.trac.wordpress.org/browser/bj-lazy-load/tags/1.0.9/inc/class-bjll.php
nvd.nist.gov/vuln/detail/CVE-2026-2300
github.com/advisories/GHSA-xfmv-2x8g-8rjp