fix(feed): escape fallback content

This commit is contained in:
Lain Soykaf 2026-07-24 19:59:18 +04:00
commit a9bf7212d4
No known key found for this signature in database
2 changed files with 24 additions and 3 deletions

View file

@ -109,9 +109,8 @@ defmodule Pleroma.Web.Feed.FeedView do
base_content =
case activity_content(data) do
"" ->
data["summary"] || data["type"] ||
""
|> escape()
(data["summary"] || data["type"] || "")
|> escape()
content ->
content

View file

@ -0,0 +1,22 @@
# Pleroma: A lightweight social networking server
# Copyright © 2017-2022 Pleroma Authors <https://pleroma.social/>
# SPDX-License-Identifier: AGPL-3.0-only
defmodule Pleroma.Web.Feed.FeedViewTest do
use Pleroma.DataCase, async: true
alias Pleroma.Web.Feed.FeedView
test "escapes fallback content" do
data = %{
"attachment" => [],
"content" => "",
"summary" => "<script>alert('feed')</script>"
}
expected = "&lt;script&gt;alert(&#39;feed&#39;)&lt;/script&gt;"
assert FeedView.atom_content_encoded(data) == expected
assert FeedView.rss_content_encoded(data) == expected
end
end