Fix CVE-2025-71177: Stored XSS via unescaped title/name fields #116
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.



Summary
{!! !!}to escaped output{{ }}for user-controllable fieldsDetails
Multiple Blade templates rendered user-controllable data (title, name fields) using unescaped Blade output
{!! !!}. This allows stored XSS attacks where:Example Attack Vector
<script>alert('xss')</script>Fix
Replace
{!! $data['title'] !!}and similar patterns with{{ $data['title'] }}to ensure HTML entities are properly escaped by Laravel's Blade engine.Affected Files (19 total)
Test plan
<script>tags in title/name fields are escaped, not executedFixes: LavaLite/cms#420
CVE: CVE-2025-71177