CVE-2024-32876 in NewPipe App
Résumé
par VulDB • 21/06/2026
NewPipe est une application Android de streaming vidéo écrite en Java. Elle prend en charge l'exportation et l'importation de sauvegardes, afin de permettre aux utilisateurs de transférer leurs données vers un nouvel appareil sans effort. Cependant, dans les versions 0.13.4 à 0.26.1, l'importation d'un fichier de sauvegarde provenant d'une source non fiable pouvait entraîner une Exécution Arbitraire de Code (Arbitrary Code Execution). En effet, les sauvegardes sont sérialisées/désérialisées en utilisant le protocole Java Object Serialization Stream Protocol, ce qui permet de construire n'importe quelle classe de l'application, sauf restriction appropriée.
Pour exploiter cette vulnérabilité, un attaquant devrait créer un fichier de sauvegarde contenant l'exploit, puis persuader un utilisateur de l'importer. Lors du processus d'importation, le code malveillant serait exécuté, potentiellement en faisant planter l'application, en volant les données utilisateur depuis l'application NewPipe, en effectuant des actions nuisibles via les API Android, et en tentant une évasion de la JVM/Sandbox Android grâce à des vulnérabilités du système d'exploitation Android.
L'attaque ne peut se produire que si l'utilisateur importe un fichier de sauvegarde malveillant ; un attaquant doit donc tromper un utilisateur pour qu'il importe un fichier de sauvegarde provenant d'une source sous son contrôle. Les détails d'implémentation du fichier de sauvegarde malveillante peuvent être indépendants de l'utilisateur visé ou de l'appareil sur lequel ils sont exécutés, et ne nécessitent pas de privilèges supplémentaires.
Toutes les versions de NewPipe comprises entre 0.13.4 et 0.26.1 sont vulnérables. La version 0.27.0 de NewPipe corrige le problème en effectuant ce qui suit : restreindre les classes pouvant être désérialisées lors de l'appel au Java Object Serialization Stream Protocol, en ajoutant une liste blanche ne contenant que des classes innocentes dédiées uniquement aux données et incapables d'entraîner une Exécution Arbitraire de Code ; déprécier les sauvegardes sérialisées avec le Java Object Serialization Stream Protocol ; utiliser la sérialisation JSON pour toutes les nouvelles sauvegardes créées (tout en conservant un fichier alternatif sérialisé via le Java Object Serialization Stream Protocol dans l'archive zip des sauvegardes pour assurer la rétrocompatibilité) ; afficher un avertissement à l'utilisateur lors de la tentative d'importation d'une sauvegarde dont le seul mode de sérialisation disponible est le Java Object Serialization Stream Protocol (notez que ce mode de sérialisation sera complètement supprimé à l'avenir).
If you want to get best quality of vulnerability data, you may have to visit VulDB.