From 0bb4e57b0c646a20aa46e6cac545b37682629e89 Mon Sep 17 00:00:00 2001 From: Julia Johannesen Date: Sun, 27 Apr 2025 13:05:09 -0400 Subject: Security fixes Co-Authored-By: dakkar --- packages/frontend/src/components/MkLink.vue | 6 ++++-- packages/frontend/src/components/MkUrlPreview.vue | 8 +++++--- packages/frontend/src/components/MkUserInfo.vue | 2 +- packages/frontend/src/components/MkUserPopup.vue | 2 +- packages/frontend/src/components/MkUserSetupDialog.User.vue | 2 +- packages/frontend/src/components/global/MkMfm.ts | 7 ++++--- packages/frontend/src/components/global/MkUrl.vue | 6 ++++-- packages/frontend/src/scripts/aiscript/api.ts | 2 +- packages/frontend/src/widgets/WidgetPhotos.vue | 2 +- packages/frontend/src/widgets/server-metric/cpu-mem.vue | 4 ++-- 10 files changed, 24 insertions(+), 17 deletions(-) (limited to 'packages/frontend') diff --git a/packages/frontend/src/components/MkLink.vue b/packages/frontend/src/components/MkLink.vue index 263cd95eb1..ad54e1b00e 100644 --- a/packages/frontend/src/components/MkLink.vue +++ b/packages/frontend/src/components/MkLink.vue @@ -5,7 +5,7 @@ SPDX-License-Identifier: AGPL-3.0-only
- -
+ +
@@ -98,6 +98,7 @@ import MkButton from '@/components/MkButton.vue'; import { transformPlayerUrl } from '@/scripts/player-url-transform.js'; import { defaultStore } from '@/store.js'; import { misskeyApi } from '@/scripts/misskey-api.js'; +import { maybeMakeRelative } from '@@/js/url.js'; const XNoteSimple = defineAsyncComponent(() => defaultStore.state.noteDesign === 'misskey' @@ -126,7 +127,8 @@ const MOBILE_THRESHOLD = 500; const isMobile = ref(deviceKind === 'smartphone' || window.innerWidth <= MOBILE_THRESHOLD); const hidePreview = ref(false); -const self = props.url.startsWith(local); +const maybeRelativeUrl = maybeMakeRelative(props.url, local); +const self = maybeRelativeUrl !== props.url; const attr = self ? 'to' : 'href'; const target = self ? null : '_blank'; const fetching = ref(true); diff --git a/packages/frontend/src/components/MkUserInfo.vue b/packages/frontend/src/components/MkUserInfo.vue index a6bbacacee..7e805dc904 100644 --- a/packages/frontend/src/components/MkUserInfo.vue +++ b/packages/frontend/src/components/MkUserInfo.vue @@ -5,7 +5,7 @@ SPDX-License-Identifier: AGPL-3.0-only