CVE-2026-15441 json
Product Table & List Builder For WooCommerce <= 5.6.0 - Unauthenticated CSS Injection via 'laptop_scroll_offset' Parameter
published 2026-08-16 2 mo ago modified 2026-08-20 2 mo ago also EUVD-2026-59861
- cvss
- 5.3
- version 3.1, CNA
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 0.5%
- EPSS 0.5% chance of exploitation in 30 days, percentile 44%
- public exploits
- 0
- none known
Summary
The WC Product Table Lite plugin for WordPress is vulnerable to CSS Injection in versions up to, and including, 5.6.0 via the 'laptop_scroll_offset' shortcode attribute exposed through the unauthenticated wcpt_ajax() AJAX handler. The handler is registered for wp_ajax_nopriv_wcpt_ajax, JSON-decodes attacker-supplied attributes, only allowlists key names (not values), applies a preg_replace that strips only [ ] < >, and passes the value through do_shortcode into wcpt_style__sticky_sidebar(), where it is interpolated verbatim into inline CSS ('top: {$top}px;' and 'max-height: calc(100vh - {$top}px);') with no numeric casting or CSS escaping. This makes it possible for unauthenticated attackers to inject arbitrary CSS declarations and rules on pages rendering a product table with sticky sidebar enabled, which can be leveraged for data exfiltration (via attribute-selector + background-image URLs), UI redressing, and phishing that bypasses CSPs permitting inline styles.
CISA SSVC
- Exploitation
- none
- Automatable
- yes
- Technical impact
- partial
- Assessed
- 2 mo ago
Exploit prediction
0.53% chance of exploitation in the next 30 days, higher than 44% of all scored CVEs (FIRST EPSS, 2026-11-08).
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CNA | 3.1 | 5.3 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N |
Affected products
- wcproducttable Product Table & List Builder For WooCommerce
Classification
- Weakness
-
- CWE-74 Improper Neutralization of Special Elements in Output Used by a Downstream Component
- Technology feeds
References
- wordfence.com /threat-intel/vulnerabilities/id/6c0a8be1-8853-4863-90e5-af3831f800e9?source=cve
- plugins.trac.wordpress.org /browser/wc-product-table-lite/tags/5.4.0/style-functions.php#L995
- plugins.trac.wordpress.org /browser/wc-product-table-lite/tags/5.4.0/main.php#L2677
- plugins.trac.wordpress.org /browser/wc-product-table-lite/tags/5.4.0/main.php#L2686
- plugins.trac.wordpress.org /browser/wc-product-table-lite/tags/5.1.0/style-functions.php#L995
- plugins.trac.wordpress.org /browser/wc-product-table-lite/tags/5.1.0/main.php#L2677
- plugins.trac.wordpress.org /browser/wc-product-table-lite/tags/5.1.0/main.php#L2686
- plugins.trac.wordpress.org /changeset?reponame=&old=3638932%40wc-product-table-lite&new=3638932%40wc-product-table-lite
Sources
- CVE List CVE-2026-15441
- NVD CVE-2026-15441
Fencer Vulns keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.