From c1eead67f4bd688f89d12b1da4109aa2b5756670 Mon Sep 17 00:00:00 2001 From: SomeRandomDeveloper Date: Sat, 26 Jul 2025 17:54:44 +0200 Subject: [PATCH] SECURITY: Parse system messages before inserting as HTML This fixes three stored i18n XSS vulnerabilities. Change-Id: I86c3bb7b7ce2d856cd2a5be787b703c85d7c41fa --- resources/ext.wikistories.builder/components/StoryTextbox.vue | 2 +- resources/ext.wikistories.builder/store/story.js | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/resources/ext.wikistories.builder/components/StoryTextbox.vue b/resources/ext.wikistories.builder/components/StoryTextbox.vue index c8e6523..b3df860 100644 --- a/resources/ext.wikistories.builder/components/StoryTextbox.vue +++ b/resources/ext.wikistories.builder/components/StoryTextbox.vue @@ -29,7 +29,7 @@ class="ext-wikistories-current-frame-textbox-select-cta" @click="onSelect" > - + diff --git a/resources/ext.wikistories.builder/store/story.js b/resources/ext.wikistories.builder/store/story.js index f7bc299..5195fe9 100644 --- a/resources/ext.wikistories.builder/store/story.js +++ b/resources/ext.wikistories.builder/store/story.js @@ -183,7 +183,7 @@ module.exports = { const duplicates = {}; const warningMessage = {}; const duplicate = { - message: mw.msg( 'wikistories-story-edittext-duplicate' ), + message: mw.message( 'wikistories-story-edittext-duplicate' ).parse(), icon: 'warning', invertIconInDarkMode: true, isAlwaysShown: true, @@ -201,7 +201,7 @@ module.exports = { // check if frame text is outdated (based on older version of article) if ( frame.outdatedText ) { warningMessage[ i ] = { - message: mw.msg( 'wikistories-story-edittext-outdated' ), + message: mw.message( 'wikistories-story-edittext-outdated' ).parse(), icon: 'alert', isAlwaysShown: true, replace: true -- 2.50.1