CVE-2026-28405 MarkUs: Stored XSS in Submission HTML Preview Enables Instructor-Context Actions
Attackers can inject malicious scripts into student submissions, allowing them to execute actions in the instructor context.
- Exploited in the wild
- Not known
- Login needed
- Any signed-in user
- Attackable
- Over the internet
- Victim action needed
- A user has to click or open something
- Fix
- None listed
What is CVE-2026-28405?
CVE-2026-28405 is a high-severity cross-site scripting vulnerability in MarkUsProject Markus, published on 5 Mar 2026. Any signed-in user can exploit it over the network, and only if a user opens a file or follows a link.
Official description
MarkUs is a web application for the submission and grading of student assignments. Prior to version 2.9.1, the courses/<:course_id>/assignments/<:assignment_id>/submissions/html_content route reads the contents of a student-submitted file and renders them without sanitization. This issue has been patched in version 2.9.1.
Weakness: CWE-79
Which versions are affected by CVE-2026-28405?
It affects 1 product.
Products include Markusproject Markus.
How do I fix CVE-2026-28405?
No fix has been published for CVE-2026-28405 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-28405 being exploited?
There is no known exploitation of CVE-2026-28405 in the wild and no public exploit code.
Other vulnerabilities in MarkUsProject Markus
- CVE-2026-25057 Zip Slip in MarkUs config upload allowing RCE
- CVE-2024-51499 MarkUs Arbitrary File Write leading up to remote code execution (student accounts)
- CVE-2024-51743 Arbitrary File Write leading up to remote code execution (instructor accounts)
- CVE-2026-25962 MarkUs: Zip bomb in config upload enables DoS
- CVE-2026-24900 MarkUs has a submission-view IDOR exposes all student submissions
Sources
Also known as GHSA-p5pc-pxrj-3893.