
Análisis técnico detallado de CVE-2026-47777, una omisión de autorización de alta gravedad en la tubería de federación de Colecciones Destacadas de Mastodon, incluyendo la causa raíz, PoC y parche.
Divulgué de manera responsable una vulnerabilidad de Omisión de Autorización de Alta Gravedad que afecta el pipeline de federación experimental de Colecciones Destacadas de Mastodon.
ID de CVE: CVE-2026-47777
ActivityPub::VerifyFeaturedItemService| Puntuación | Vector |
|---|---|
| 7.5 (Alta) | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N |
El pipeline de verificación de Colecciones Destacadas aceptaba un objeto FeatureAuthorization falsificado sin verificar que la autorización realmente perteneciera a la cuenta destacada.
La lógica de verificación solo garantizaba que:
Sin embargo, no verificaba si:
FeatureAuthorization.interactionTarget
coincidía con la cuenta que se estaba insertando en la Colección.
Como resultado, una instancia maliciosa federada de Mastodon podía falsificar documentos de autorización e indicar falsamente que usuarios remotos arbitrarios habían consentido aparecer en Colecciones Destacadas seleccionadas.
Esto resultó en una Omisión de Autorización que afecta la integridad de la federación.
La vulnerabilidad fue causada por la falta de un vínculo de identidad dentro de:
ActivityPub::VerifyFeaturedItemService
El servicio no comparaba:
CollectionItem.object_uri
con
FeatureAuthorization.interactionTarget
Debido a que faltaba esta validación, los objetos de autorización podían reutilizarse para cuentas de víctimas no relacionadas.
Un atacante podía:
FeatureAuthorizationImpacto: Integridad de la Federación (Solo Integridad)
La confidencialidad no se vio afectada.
La validación faltante era efectivamente:
return if @collection_item.object_uri != value_or_id(@authorization['interactionTarget'])
Sin esta verificación de identidad, los documentos de autorización generados por un dominio controlado por un atacante podían ser aceptados para usuarios no relacionados.
La vulnerabilidad fue verificada independientemente utilizando múltiples enfoques:
El marco de verificación personalizado en Python probó cada variación de @context de JSON-LD compatible aceptada por el analizador de Mastodon.
El análisis confirmó que la vulnerabilidad se originaba por la falta de vinculación de autorización, no por el análisis de JSON-LD.
El flujo de trabajo del exploit es:
FeatureAuthorization falsificado.Una cuenta de víctima aparece como si hubiera consentido en ser destacada, a pesar de nunca haber otorgado autorización.
El problema se resolvió introduciendo una validación explícita de identidad entre:
CollectionItem.object_uri)FeatureAuthorization.interactionTarget)antes de aceptar la autorización.
Agradecimientos especiales al Equipo de Seguridad de Mastodon por revisar el informe, validar el problema, asignar CVE-2026-47777 e implementar una corrección de seguridad coordinada a través de la divulgación responsable.
Investigador de Seguridad: Bekzod
Divulgación responsable realizada de acuerdo con las prácticas coordinadas de divulgación de vulnerabilidades.
| Fecha | Evento |
|---|
| 2026 | Investigación completada |
| 2026 | Divulgación responsable presentada |
| 2026 | Vulnerabilidad reproducida |
| 2026 | CVE asignado (CVE-2026-47777) |
| 2026 | Parche publicado (Mastodon 4.6.0-beta.1) |