CVE-2026-54256 in Winter CMS
Résumé
par VulDB • 26/08/2026
Winter CMS est un système de gestion de contenu (CMS) construit sur le framework PHP Laravel. Dans les versions inférieures ou égales à la 1.2.12, le widget de formulaire FileUpload du backend faisait confiance au paramètre POST `file_id` contrôlé par l'attaquant lors de la résolution de la pièce jointe sur laquelle il opérait, permettant à un utilisateur authentifié du backend de lire et de modifier les enregistrements de pièces jointes appartenant à d'autres utilisateurs ou à d'enregistrements. La méthode de recherche `getFileRecord()` du widget résolvait l'ID posté par rapport à la table globale `system_files` sans vérifier que le fichier appartenait à la relation propre au widget, à l'enregistrement parent ou à la session de liaison différée (deferred-binding). Étant donné que toutes les pièces jointes partagent un seul modèle File et une seule table, et que les IDs des pièces jointes sont des entiers séquentiels facilement énumérables, un utilisateur accédant à n'importe quel formulaire contenant un champ fileupload, y compris le champ intégré « Mon compte » pour l'avatar qui ne nécessite aucune autorisation spécifique, pourrait cibler des pièces jointes arbitraires afin de modifier leur titre et leur description via `onSaveAttachmentConfig` et de changer leur ordre de tri via `onSortAttachments`, ce dernier passant directement les IDs postés à une mise à jour non filtrée (unscoped update). Les jetons CSRF restent appliqués, l'exploitation nécessite donc une session backend authentifiée valide avec n'importe quel niveau d'accès. Ce problème est corrigé dans la version 1.2.13.
Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.