Une faille de sécurité dans la dernière version de WhatsApp pour Windows permet l’envoi de fichiers Python et PHP qui s’exécutent sans avertissement lorsque le destinataire les ouvre.
Pour que l’attaque réussisse, il est nécessaire que Python soit installé, ce qui pourrait restreindre les cibles aux développeurs de logiciels, chercheurs et utilisateurs avancés.
Ce problème rappelle une vulnérabilité survenue en avril concernant Telegram pour Windows, qui avait d’abord été ignorée mais corrigée par la suite. Les attaquants pouvaient contourner les avertissements de sécurité et exécuter du code à distance en envoyant un fichier Python .pyzw via le client de messagerie.
WhatsApp bloque plusieurs types de fichiers jugés risqués pour les utilisateurs, mais la société a informé BleepingComputer qu’elle ne prévoit pas d’ajouter les scripts Python à cette liste.
Des tests supplémentaires effectués par BleepingComputer ont révélé que les fichiers PHP (.php) ne figurent également pas sur la liste de blocage de WhatsApp.
Scripts Python et PHP non bloqués
Le chercheur en sécurité Saumyajeet Das a découvert cette vulnérabilité en expérimentant avec différents types de fichiers pouvant être joints aux conversations WhatsApp pour vérifier si l’application autorisait des fichiers potentiellement dangereux.
Lors de l’envoi d’un fichier potentiellement dangereux, tel qu’un .EXE, WhatsApp l’affiche et propose au destinataire deux options : Ouvrir ou Enregistrer sous.
Cependant, en essayant d’ouvrir le fichier, WhatsApp pour Windows génère une erreur, laissant aux utilisateurs uniquement l’option d’enregistrer le fichier sur le disque et de le lancer à partir de là.
Dans les tests de BleepingComputer, ce comportement était cohérent avec les types de fichiers .EXE, .COM, .SCR, .BAT et Perl utilisant le client WhatsApp pour Windows. Das a également constaté que WhatsApp bloque l’exécution des fichiers .DLL, .HTA et VBS.
Pour tous ces fichiers, une erreur se produisait lors de la tentative de lancement directement depuis l’application en cliquant sur « Ouvrir ». Leur exécution n’était possible qu’après les avoir d’abord enregistrés sur le disque.
En discutant avec BleepingComputer, Das a indiqué avoir trouvé trois types de fichiers que le client WhatsApp ne bloque pas : .PYZ (application ZIP Python), .PYZW (programme PyInstaller) et .EVTX (fichier de journal d’événements Windows).
Les tests de BleepingComputer ont confirmé que WhatsApp ne bloque pas l’exécution des fichiers Python et ont découvert que cela s’applique également aux scripts PHP.
Si toutes les ressources sont présentes, il suffit au destinataire de cliquer sur le bouton « Ouvrir » sur le fichier reçu pour que le script s’exécute.
Das a signalé le problème à Meta le 3 juin, et la société a répondu le 15 juillet en disant que le problème avait déjà été signalé par un autre chercheur et qu’il aurait déjà dû être corrigé.
Lorsque le chercheur a contacté BleepingComputer, le bug était toujours présent dans la dernière version de WhatsApp pour Windows, et nous avons pu le reproduire sur Windows 11, v2.2428.10.0.
« J’ai signalé ce problème à Meta via leur programme de récompense pour les bugs, mais malheureusement, ils l’ont fermé en tant que N/A. C’est décevant, car il s’agit d’une faille simple qui pourrait être facilement atténuée, » a expliqué le chercheur.
BleepingComputer a contacté WhatsApp pour obtenir des éclaircissements sur la raison du rejet du rapport du chercheur, et un porte-parole a expliqué qu’ils ne considéraient pas cela comme un problème de leur côté, donc aucune correction n’était prévue :
« Nous avons pris connaissance de ce que le chercheur a proposé et apprécions sa soumission. Les logiciels malveillants peuvent prendre de nombreuses formes, y compris à travers des fichiers téléchargeables destinés à tromper un utilisateur. »
« C’est pourquoi nous avertissons les utilisateurs de ne jamais cliquer sur ou ouvrir un fichier provenant de quelqu’un qu’ils ne connaissent pas, peu importe comment ils l’ont reçu — que ce soit via WhatsApp ou toute autre application. »
Le représentant de la société a également expliqué que WhatsApp dispose d’un système pour avertir les utilisateurs lorsqu’ils sont contactés par des utilisateurs qui ne figurent pas dans leur liste de contacts, ou dont les numéros de téléphone sont enregistrés dans un autre pays.
Cependant, si le compte d’un utilisateur est piraté, l’attaquant peut envoyer à tous les contacts des scripts malveillants qui sont plus faciles à exécuter directement depuis l’application de messagerie.
De plus, ces types de fichiers joints pourraient être publiés dans des groupes de discussion publics et privés, ce qui pourrait être exploité par des acteurs malveillants pour diffuser des fichiers nuisibles.
En réponse au rejet du rapport par WhatsApp, Das a exprimé sa déception quant à la manière dont le projet a géré la situation.
« En ajoutant simplement les extensions .pyz et .pyzw à leur liste de blocage, Meta pourrait prévenir une exploitation potentielle via ces fichiers ZIP Python, » a déclaré le chercheur.
Il a ajouté qu’en s’attaquant à ce problème, WhatsApp « améliorerait non seulement la sécurité de ses utilisateurs, mais démontrerait également son engagement à résoudre rapidement les préoccupations en matière de sécurité. »
BleepingComputer a contacté WhatsApp pour les alerter que l’extension PHP n’est également pas bloquée, mais n’a pas encore reçu de réponse à ce jour.