diff options
author | kaniini <nenolod@gmail.com> | 2018-09-01 23:48:55 +0000 |
---|---|---|
committer | kaniini <nenolod@gmail.com> | 2018-09-01 23:48:55 +0000 |
commit | 3c7280934e3bdca8d5a870dc932406ccd9915d64 (patch) | |
tree | 35c7f885e4003bb09de30f42afda05abbfcabc2d /test/web | |
parent | e4079abab8245c5b5a0987fbce9ab7cfd724f2d5 (diff) | |
parent | 03e92977cb95ccc81b92c927049a3e4421917cd2 (diff) | |
download | pleroma-3c7280934e3bdca8d5a870dc932406ccd9915d64.tar.gz pleroma-3c7280934e3bdca8d5a870dc932406ccd9915d64.zip |
Merge branch 'security/activitypub-spoofing' into 'develop'
security: activitypub spoofing
See merge request pleroma/pleroma!321
Diffstat (limited to 'test/web')
-rw-r--r-- | test/web/activity_pub/transmogrifier_test.exs | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/test/web/activity_pub/transmogrifier_test.exs b/test/web/activity_pub/transmogrifier_test.exs index e2926d495..afa25bb60 100644 --- a/test/web/activity_pub/transmogrifier_test.exs +++ b/test/web/activity_pub/transmogrifier_test.exs @@ -798,4 +798,25 @@ defmodule Pleroma.Web.ActivityPub.TransmogrifierTest do assert rewritten["url"] == "http://example.com" end end + + describe "actor origin containment" do + test "it rejects objects with a bogus origin" do + {:error, _} = ActivityPub.fetch_object_from_id("https://info.pleroma.site/activity.json") + end + + test "it rejects activities which reference objects with bogus origins" do + user = insert(:user, %{local: false}) + + data = %{ + "@context" => "https://www.w3.org/ns/activitystreams", + "id" => user.ap_id <> "/activities/1234", + "actor" => user.ap_id, + "to" => ["https://www.w3.org/ns/activitystreams#Public"], + "object" => "https://info.pleroma.site/activity.json", + "type" => "Announce" + } + + :error = Transmogrifier.handle_incoming(data) + end + end end |