
Análise técnica detalhada do CVE-2026-47777, um bypass de autorização de alta gravidade no pipeline de federação do Featured Collections do Mastodon, incluindo causa raiz, PoC e patch.
Divulguei de forma responsável uma vulnerabilidade de Bypass de Autorização de Alta Gravidade que afeta o pipeline de federação experimental de Coleções em Destaque do Mastodon.
ID CVE: CVE-2026-47777
ActivityPub::VerifyFeaturedItemService| Pontuação | Vetor |
|---|---|
| 7.5 (Alta) | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N |
O pipeline de verificação das Coleções em Destaque aceitava um objeto FeatureAuthorization forjado sem verificar se a autorização pertencia de fato à conta em destaque.
A lógica de verificação apenas garantia que:
No entanto, não verificava se:
FeatureAuthorization.interactionTarget
correspondia à conta que estava sendo inserida na Coleção.
Como resultado, uma instância maliciosa do Mastodon federada poderia forjar documentos de autorização e indicar falsamente que usuários remotos arbitrários haviam consentido em aparecer em Coleções em Destaque curadas.
Isso resultou em um Bypass de Autorização afetando a integridade da federação.
A vulnerabilidade foi causada pela falta de uma vinculação de identidade dentro de:
ActivityPub::VerifyFeaturedItemService
O serviço falhou ao comparar:
CollectionItem.object_uri
com
FeatureAuthorization.interactionTarget
Como essa validação estava ausente, objetos de autorização podiam ser reutilizados para contas vítimas não relacionadas.
Um atacante poderia:
FeatureAuthorizationImpacto: Integridade da Federação (Apenas Integridade)
A confidencialidade não foi afetada.
A validação ausente era efetivamente:
return if @collection_item.object_uri != value_or_id(@authorization['interactionTarget'])
Sem essa verificação de identidade, documentos de autorização gerados por um domínio controlado pelo atacante podiam ser aceitos para usuários não relacionados.
A vulnerabilidade foi verificada de forma independente usando múltiplas abordagens:
O harness de verificação Python personalizado testou todas as variações de @context JSON-LD suportadas pelo analisador do Mastodon.
A análise confirmou que a vulnerabilidade se originou da falta de vinculação de autorização, não da análise JSON-LD.
O fluxo de exploração é:
FeatureAuthorization forjado é publicado.Uma conta vítima aparece como se tivesse consentido em ser destacada, apesar de nunca ter concedido autorização.
O problema foi resolvido introduzindo uma validação explícita de identidade entre:
CollectionItem.object_uri)FeatureAuthorization.interactionTarget)antes de aceitar a autorização.
Agradecimentos especiais à Equipe de Segurança do Mastodon por revisar o relatório, validar o problema, atribuir CVE-2026-47777 e implementar uma correção de segurança coordenada por meio de divulgação responsável.
Pesquisador de Segurança: Bekzod
Divulgação responsável conduzida de acordo com as práticas coordenadas de divulgação de vulnerabilidades.
| Data | Evento |
|---|
| 2026 | Pesquisa concluída |
| 2026 | Divulgação responsável submetida |
| 2026 | Vulnerabilidade reproduzida |
| 2026 | CVE atribuído (CVE-2026-47777) |
| 2026 | Correção lançada (Mastodon 4.6.0-beta.1) |