La vulnérabilité en question permet d'exécuter du code à distance et affecte les applications Electron qui utilisent des gestionnaires de protocole personnalisé. Il faut également préciser que les applications ne sont vulnérables que si elles s'exécutent sous Windows et s'enregistrent en tant que gestionnaire par défaut pour un protocole tel que myapp://. De telles applications peuvent être affectées indépendamment de la manière dont le protocole est enregistré, par exemple en utilisant le code natif, le registre Windows ou l'API app.setAsDefaultProtocolClient d'Electron.
Pour information, le protocole myapp:// permet d’ouvrir une application native directement depuis un lien URL. Ce lien URL peut être présent dans une page web ou un email par exemple. Cela veut dire qu'un protocole personnalisé comme slack:// peut faire en sorte que les utilisateurs puissent cliquer sur des liens dans d'autres logiciels comme un navigateur Web et aller directement dans l'application Slack.
L'équipe Electron a publié mardi de nouvelles versions de son logiciel pour corriger cette vulnérabilité. Tous les développeurs utilisant Electron sont donc invités à mettre à jour leurs applications immédiatement vers la dernière version stable. Si, pour une raison quelconque, vous ne parvenez pas à mettre à niveau votre version Electron, vous pouvez ajouter -- comme dernier argument lors de l'appel de app.setAsDefaultProtocolClient, ce qui empêche Chromium d'analyser d'autres options. Le double tiret -- signifie la fin des options de commande, après quoi seuls les paramètres de position sont acceptés.
Code : | Sélectionner tout |
1 | app.setAsDefaultProtocolClient(protocol, process.execPath, [ '--your-switches-here', '--' ]) |
Sources : Blog Electron, Cyber Scoop
Et vous ?
Que pensez-vous de cette vulnérabilité ?
Utilisez-vous le framework Electron pour le développement de vos applications de bureau ? Qu’en dites-vous ?