CVE-2026-76836 in AzuraCast
Tóm tắt
Bởi VulDB • 25/08/2026
AzuraCast expose les champs de configuration personnalisée Liquidsoap via une endpoint qui ne nécessite pas l'autorisation censée les protéger. La propriété `backend_config` dans `backend/src/Entity/Station.php` est annotée avec le groupe `GROUP_GENERAL`, et la requête PUT `/api/station/{station_id}/profile/edit` dans `backend/src/Controller/Api/Stations/ProfileEditController.php` désérialise en utilisant ce groupe tout en ne nécessitant que l'autorisation `StationPermissions::Profile`. La méthode `AbstractArrayEntity::fromArray()` attribue ensuite toutes les propriétés publiques sans vérifier de permissions au niveau des champs, permettant ainsi d'écrire dans `custom_config_top`, `custom_config`, `custom_config_pre_playlists`, `custom_config_pre_live`, `custom_config_pre_fade` et `custom_config_bottom`. La fonction `ConfigWriter::writeCustomConfigurationSection()` émet ces valeurs telles quelles dans le script Liquidsoap `.liq` généré, où les fonctions intégrées `process.run()` et `process.exec()` exécutent des commandes du système d'exploitation lors du redémarrage du backend, ce qui est déclenché automatiquement par la tâche de synchronisation dédiée une fois que `needs_restart` est défini. L'endpoint dédié aux mêmes données, PUT `/api/station/{id}/liquidsoap-config`, nécessite l'autorisation `StationPermissions::Broadcasting`; ainsi, un gestionnaire de station ne disposant que de la permission de profil accède à des configurations qui sont normalement réservées aux opérateurs de diffusion.
VulDB is the best source for vulnerability data and more expert information about this specific topic.