Skip to main content

Correctif de vulnérabilité de Webview

· 2 min read

Une vulnérabilité a été découverte qui permettait de réactiver l'intégration de Node.js dans certaines applications Electron qui la désactivent. L’identificateur CVE CVE a été attribué à cette vulnérabilitéCVE-2018-1000136.


Applications concernées

Une application est affectée si toutes les conditions suivantes sont remplies :

  1. Fonctionne sur Electron 1.7, 1.8 ou une version bêta 2.0.0
  2. Permet l’exécution de code distant arbitraire
  3. Désactive l'intégration de Node.js
  4. Ne déclare pas explicitement webviewTag: false dans ses webPreferences
  5. N’active pas l’option nativeWindowOption
  6. N'intercepte pas les événements new-window et surcharge manuellement event.newGuest sans utiliser le tag d'options fournie

Bien que cela ne semble concerner qu'une minorité d'applications Electron, nous vous encourageons à ce que toutes les applications soient mises à jour par précaution.

Atténuation

Cette vulnérabilité est corrigée dans les versions d'aujourd'hui de 1.7.13, 1.8.4et 2.0.0-beta.5.

Les développeurs ne pouvant pas mettre à niveau la version Electron de leur application peuvent atténuer la vulnérabilité avec le code suivant :

app.on('web-contents-created', (event, win) => {
win.on('new-window', (event, newURL, frameName, disposition,
options, additionalFeatures) => {
if (!options.webPreferences) options.webPreferences = {};
options.webPreferences.nodeIntegration = false;
options.webPreferences.nodeIntegrationInWorker = false;
options.webPreferences.webviewTag = false;
delete options.webPreferences.preload;
})
})

// et si vous n'utiliser pas du tout les WebViews,
// vous pouvez également ajouter
app.on('web-contents-created', (event, win) => {
win.on('will-attach-webview', (event, webPreferences, params) => {
event.preventDefault();
})
})

Informations complémentaires 

Cette vulnérabilité a été trouvée et signalée de manière responsable au projet Electron par Trustwave SpiderLabs.

Pour en savoir plus à propos des meilleures pratiques pour sécuriser vos applications Electron, consultez notre tutoriel de sécurité.

Si vous souhaitez signaler une vulnérabilité dans Electron, envoyez un e-mail à security@electronjs.org.

Veuillez vous inscrire à notre liste de diffusion recevoir des mises à jour sur les versions et les mises à jour de sécurité.