[v9.3.x] Fix XSS in runbook URL (#684)

Fix XSS in runbook URL (#681)

(cherry picked from commit db1548c1491c2f5b522e3c0ceb1832b914a4b2f0)

Co-authored-by: George Robinson <george.robinson@grafana.com>
(cherry picked from commit e9cb2a313e)
This commit is contained in:
Grot (@grafanabot)
2022-11-30 12:10:33 +02:00
committed by dsotirakis
parent 8bd0d15170
commit c5409af19c
@@ -1,7 +1,7 @@
import { css } from '@emotion/css';
import React, { FC, Fragment } from 'react';
import { GrafanaTheme2 } from '@grafana/data';
import { GrafanaTheme2, textUtil } from '@grafana/data';
import { Button, HorizontalGroup, LinkButton, useStyles2 } from '@grafana/ui';
import { contextSrv } from 'app/core/services/context_srv';
import { AccessControlAction } from 'app/types';
@@ -61,7 +61,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>