Backport Fix XSS in runbook URL (#681) to v9.2.x (#683)

(cherry picked from commit db1548c1491c2f5b522e3c0ceb1832b914a4b2f0)
(cherry picked from commit 3135a81edf0ebeb575c95560dd548f9589c14d02)
(cherry picked from commit fe17b64445)
This commit is contained in:
George Robinson
2022-11-30 11:06:39 +02:00
committed by dsotirakis
parent 34f0068875
commit c4e4bfe257
@@ -2,7 +2,7 @@ import { css } from '@emotion/css';
import React, { FC, Fragment, useState } from 'react';
import { useLocation } from 'react-router-dom';
import { GrafanaTheme2, urlUtil } from '@grafana/data';
import { GrafanaTheme2, textUtil, urlUtil } from '@grafana/data';
import { config } from '@grafana/runtime';
import { Button, ClipboardButton, ConfirmModal, HorizontalGroup, LinkButton, useStyles2 } from '@grafana/ui';
import { useAppNotification } from 'app/core/copy/appNotification';
@@ -102,7 +102,7 @@ export const RuleDetailsActionButtons: FC<Props> = ({ rule, rulesSource }) => {
variant="primary"
icon="book"
target="__blank"
href={rule.annotations[Annotation.runbookURL]}
href={textUtil.sanitizeUrl(rule.annotations[Annotation.runbookURL])}
>
View runbook
</LinkButton>