yaal-coop / Esup-Pod

plateforme de gestion de fichier vidéo
GNU Lesser General Public License v3.0
0 stars 0 forks source link

Pod ne vérifie pas les signatures des actions entrantes #3

Open azmeuk opened 3 months ago

azmeuk commented 3 months ago

Lorsqu'une instance envoie une action Announce, Update ou Delete, on ne vérifie pas les signatures des messages. Ça signifie que n'importe qui peut envoyer un message pour créer, mettre à jour ou supprimer une vidéo.

azmeuk commented 1 month ago

@LoanR Je viens de pousser quelques commits (6ca8a3f07ef0d3dbc380562f30526167ff602dfa cc5f45cdcc1584533520f1df297364bd34e17ef8 f617adf69caab04a694149eb8892e678a3a877c5 et e6b9047fea2e32418940bbb8ff262e0e9b26ff4f) qui implémentent la vérification des signatures pour les actions Announce, Update et Delete.

Quelques infos :

Par ailleurs, je ne sais pas si ces vérifications sont suffisantes : ce que l'on fait désormais c'est vérifier que les payloads sont correctement signées avec la clé publique de l'acteur. Autrement dit on vérifie que l'acteur est bien celui qu'il prétend être. Par contre on ne vérifie pas si l'acteur a le droit de modifier les vidéos ni s'il provient d'une instance fédérée.

Je pense qu'il faudrait rajouter quelque part un test qui vérifie que:

LoanR commented 1 month ago

Le commit c28f49b fait maintenant les checks avant de faire une quelconque modification sur la vidéo.

La CI devrait mieux tourner après le retrait des tâches pa11y... (cf https://github.com/EsupPortail/Esup-Pod/pull/1170#issuecomment-2302099417) :v: