Skip to content

Security: stored XSS via social group discussion thread title#8595

Merged
AngelFQC merged 1 commit into
masterfrom
security/auto-fix-GHSA-9mpp-78g5-c22m
Jun 19, 2026
Merged

Security: stored XSS via social group discussion thread title#8595
AngelFQC merged 1 commit into
masterfrom
security/auto-fix-GHSA-9mpp-78g5-c22m

Conversation

@AngelFQC

Copy link
Copy Markdown
Member

Problem

The discussion thread title in a social group was rendered as raw HTML (v-html="discussion.title") in usergroup/GroupDiscussions.vue. Any group member (a regular student account suffices) could create a thread whose title contained an XSS payload that executed in every group member's browser — including teachers/admins sharing the group — on page load, with no victim interaction.

Fix

Render the thread title as auto-escaped text ({{ discussion.title }}) instead of v-html. A discussion title is plain text and carries no legitimate markup, so escaping it fully neutralizes the sink while preserving the displayed title.

Invariant now enforced

Group discussion titles can no longer inject markup or script into the group page; they are always displayed as inert text.

OWASP control

A03:2021 – Injection (Stored Cross-Site Scripting).

Refs GHSA-9mpp-78g5-c22m

🤖 Generated with Claude Code

Render the discussion thread title as auto-escaped text instead of raw
v-html in usergroup/GroupDiscussions.vue. A thread title is plain text and
needs no markup, so escaping it closes the stored-XSS sink where an
attacker-supplied title executed in every group member's browser on page
load.

Refs GHSA-9mpp-78g5-c22m

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@AngelFQC AngelFQC force-pushed the security/auto-fix-GHSA-9mpp-78g5-c22m branch from 7124e54 to 5d7af2f Compare June 16, 2026 13:27
@AngelFQC AngelFQC merged commit eb6947d into master Jun 19, 2026
1 of 12 checks passed
@AngelFQC AngelFQC deleted the security/auto-fix-GHSA-9mpp-78g5-c22m branch June 19, 2026 23:51
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant