# Tutor LMS <= 4.1.0 - Authenticated (Tutor Instructor+) Stored Cross-Site Scripting via Quiz Layout Setting

- **ID:** WPSEC-2026-0514
- **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 6.4 (CVSS:3.1/AV:N/AC:L/PR:L/UI:N/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-0514/

## Description

The Tutor LMS plugin for WordPress is vulnerable to Stored Cross-Site Scripting via the quiz 'question_layout_view' setting in versions 4.0.0 to 4.1.0 due to insufficient input sanitization and output escaping. The setting was saved with only text sanitization and printed into a JavaScript string inside an Alpine.js attribute on the quiz attempt page using attribute escaping, which the browser decodes before the expression is evaluated. This makes it possible for authenticated attackers with Tutor Instructor-level access and above to inject arbitrary web scripts that execute whenever a user takes the affected quiz.

## References

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

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

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.
