CVE-2024-32876 in NewPipe Appinformation

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.

Responsable

GitHub, Inc.

Réserver

19/04/2024

Divulgation

24/04/2024

Modérer

accepté

Entrée

VDB-261961

CPE

prêt

EPSS

0.00324

KEV

non

Activités

très faible

Sources

Do you want to use VulDB in your project?

Use the official API to access entries easily!