# Tutor LMS <= 4.1.0 - Unauthenticated Reflected Cross-Site Scripting via 'tab' Parameter

- **ID:** WPSEC-2026-0517
- **Plugin:** Tutor LMS – eLearning and online course solution (`tutor`), https://wordpress.org/plugins/tutor/
- **Affected versions:** from 4.0.0 before 4.1.1
- **Fixed in:** 4.1.1 (Update to 4.1.1 or later.)
- **Severity:** Medium 4.7 (CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:C/C:L/I:L/A:N)
- **Weakness:** CWE-79
- **Usage among sites WPSec scans:** plugin Medium, affected versions Medium (as of 2026-10-07)
- **Attack surface analysis:** https://attacksurface.wpsec.com/plugin/tutor
- **Fix released:** 2026-10-06
- **Published:** 2026-10-07
- **URL:** https://wpsec.com/vuln/WPSEC-2026-0517/

## Description

The Tutor LMS plugin for WordPress is vulnerable to Reflected Cross-Site Scripting via the 'tab' parameter in versions 4.0.0 to 4.1.0 due to insufficient input validation and output escaping. On lesson pages of the learning area, when a lesson shows no tabs (no lesson text, no attachments and no comments for the viewer), the parameter was printed into a JavaScript string inside an Alpine.js attribute using HTML escaping, which the browser decodes before the expression is evaluated. This makes it possible for unauthenticated attackers to inject arbitrary web scripts that execute if they can trick a user who can view such a lesson into following a crafted link.

## References

- https://wpsec.com/vuln/WPSEC-2026-0517/
- https://plugins.svn.wordpress.org/tutor/tags/4.1.1/
- https://wordpress.org/plugins/tutor/

Source: WPSec, https://wpsec.com/vuln/WPSEC-2026-0517/

License: CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/). Free to use, share and adapt, also commercially, if you credit WPSec and link to this advisory.
