
Detaillierte technische Analyse von CVE-2026-47777, einer Autorisierungsumgehung mit hohem Schweregrad in der Federation-Pipeline der Featured Collections von Mastodon, einschließlich Ursache, PoC und Patch.
Ich habe verantwortungsvoll eine Authorization Bypass-Schwachstelle mit hohem Schweregrad offengelegt, die die experimentelle Föderations-Pipeline für hervorgehobene Sammlungen (Featured Collections) von Mastodon betrifft.
CVE-ID: CVE-2026-47777
ActivityPub::VerifyFeaturedItemService| Bewertung | Vektor |
|---|---|
| 7.5 (Hoch) | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N |
Die Verifizierungs-Pipeline für hervorgehobene Sammlungen akzeptierte ein gefälschtes FeatureAuthorization-Objekt, ohne zu überprüfen, ob die Autorisierung tatsächlich zum hervorgehobenen Konto gehörte.
Die Verifizierungslogik stellte nur Folgendes sicher:
Allerdings wurde nicht überprüft, ob:
FeatureAuthorization.interactionTarget
mit dem Konto übereinstimmte, das in die Sammlung eingefügt wurde.
Infolgedessen konnte eine bösartige föderierte Mastodon-Instanz Autorisierungsdokumente fälschen und fälschlicherweise anzeigen, dass beliebige entfernte Benutzer der Aufnahme in kuratierte hervorgehobene Sammlungen zugestimmt hatten.
Dies führte zu einer Umgehung der Autorisierung, die die Integrität der Föderation beeinträchtigte.
Die Schwachstelle wurde durch eine fehlende Identitätsbindung innerhalb verursacht:
ActivityPub::VerifyFeaturedItemService
Der Dienst versäumte es, Folgendes zu vergleichen:
CollectionItem.object_uri
mit
FeatureAuthorization.interactionTarget
Da diese Validierung fehlte, konnten Autorisierungsobjekte für nicht zusammenhängende Opferkonten wiederverwendet werden.
Ein Angreifer konnte:
FeatureAuthorization-Dokumente fälschenAuswirkung: Integrität der Föderation (nur Integrität)
Die Vertraulichkeit war nicht betroffen.
Die fehlende Validierung entsprach im Wesentlichen:
return if @collection_item.object_uri != value_or_id(@authorization['interactionTarget'])
Ohne diese Identitätsprüfung konnten von einer angreifergesteuerten Domain erstellte Autorisierungsdokumente für nicht zusammenhängende Benutzer akzeptiert werden.
Die Schwachstelle wurde unabhängig mit mehreren Ansätzen verifiziert:
Die maßgeschneiderte Python-Verifikationsumgebung testete jede von Mastodons Parser akzeptierte unterstützte JSON-LD @context-Variation.
Die Analyse bestätigte, dass die Schwachstelle auf eine fehlende Autorisierungsbindung zurückzuführen ist, nicht auf JSON-LD-Parsing.
Der Exploit-Workflow ist:
FeatureAuthorization-Objekt wird veröffentlicht.Ein Opferkonto erscheint, als ob es der Hervorhebung zugestimmt hätte, obwohl es nie eine Autorisierung erteilt hat.
Das Problem wurde durch die Einführung einer expliziten Identitätsvalidierung zwischen gelöst:
CollectionItem.object_uri)FeatureAuthorization.interactionTarget)bevor die Autorisierung akzeptiert wird.
Besonderer Dank gilt dem Mastodon-Sicherheitsteam für die Überprüfung des Berichts, die Validierung des Problems, die Zuweisung von CVE-2026-47777 und die Implementierung einer koordinierten Sicherheitsbehebung durch verantwortungsvolle Offenlegung.
Sicherheitsforscher: Bekzod
Verantwortungsvolle Offenlegung durchgeführt in Übereinstimmung mit koordinierten Verfahren zur Offenlegung von Schwachstellen.
| Datum | Ereignis |
|---|
| 2026 | Forschung abgeschlossen |
| 2026 | Verantwortungsvolle Offenlegung eingereicht |
| 2026 | Schwachstelle reproduziert |
| 2026 | CVE zugewiesen (CVE-2026-47777) |
| 2026 | Patch veröffentlicht (Mastodon 4.6.0-beta.1) |