diff --git a/server/embed_frontend.go b/server/embed_frontend.go index f814dfd..5a23623 100644 --- a/server/embed_frontend.go +++ b/server/embed_frontend.go @@ -3,6 +3,7 @@ package server import ( "embed" "fmt" + "html/template" "io/fs" "net/http" "strings" @@ -142,18 +143,18 @@ Sitemap: %s/sitemap.xml`, instanceURL, instanceURL) func generateShortcutMetadata(shortcut *storepb.Shortcut) string { metadataList := []string{ - fmt.Sprintf(`%s`, shortcut.OgMetadata.Title), - fmt.Sprintf(``, shortcut.OgMetadata.Description), - fmt.Sprintf(``, shortcut.OgMetadata.Title), - fmt.Sprintf(``, shortcut.OgMetadata.Description), - fmt.Sprintf(``, shortcut.OgMetadata.Image), + fmt.Sprintf(`%s`, template.HTMLEscapeString(shortcut.OgMetadata.Title)), + fmt.Sprintf(``, template.HTMLEscapeString(shortcut.OgMetadata.Description)), + fmt.Sprintf(``, template.HTMLEscapeString(shortcut.OgMetadata.Title)), + fmt.Sprintf(``, template.HTMLEscapeString(shortcut.OgMetadata.Description)), + fmt.Sprintf(``, template.HTMLEscapeString(shortcut.OgMetadata.Image)), ``, // Twitter related metadata. - fmt.Sprintf(``, shortcut.OgMetadata.Title), - fmt.Sprintf(``, shortcut.OgMetadata.Description), - fmt.Sprintf(``, shortcut.OgMetadata.Image), + fmt.Sprintf(``, template.HTMLEscapeString(shortcut.OgMetadata.Title)), + fmt.Sprintf(``, template.HTMLEscapeString(shortcut.OgMetadata.Description)), + fmt.Sprintf(``, template.HTMLEscapeString(shortcut.OgMetadata.Image)), ``, - fmt.Sprintf(``, shortcut.Link), + fmt.Sprintf(``, template.HTMLEscapeString(shortcut.Link)), } return strings.Join(metadataList, "\n") }