Plattform
nodejs
Komponente
electron
Behoben in
38.8.7
39.0.1
40.0.1
41.0.1
38.8.6
CVE-2026-34773 describes a protocol handler hijacking vulnerability affecting Electron applications on Windows. Specifically, the app.setAsDefaultProtocolClient() function did not properly validate the protocol name before writing to the registry, potentially allowing attackers to hijack existing protocol handlers if the application uses untrusted input. This impacts Electron versions up to and including 38.8.6. To mitigate this, validate the protocol name against /^[a-zA-Z][a-zA-Z0-9+.-]*$/ before calling the function.
Die CVE-2026-34773-Schwachstelle in Electron betrifft Anwendungen, die app.setAsDefaultProtocolClient(protocol) unter Windows verwenden. Das Problem liegt in der fehlenden ordnungsgemäßen Validierung des Protokollnamens, bevor in die Windows-Registrierung geschrieben wird. Dies ermöglicht einem Angreifer, wenn die Anwendung Protokollnamen aus nicht vertrauenswürdigen Quellen akzeptiert, in beliebige Unterverzeichnisse unter HKCU\Software\Classes\ zu schreiben. Dieser Schreibvorgang könnte potenziell die Überschreibung bestehender Protokollhandler ermöglichen, was zur Ausführung von Schadcode oder zur Weiterleitung des Benutzers zu unerwünschten Websites führen könnte, wenn versucht wird, einen Link mit einem bestimmten Protokoll zu öffnen. Die Schwachstelle ist nur relevant, wenn der Protokollname aus einer externen oder nicht vertrauenswürdigen Eingabe abgeleitet wird.
Ein Angreifer könnte diese Schwachstelle ausnutzen, indem er einen bösartigen Link erstellt, der einen speziell gestalteten Protokollnamen verwendet. Wenn eine anfällige Anwendung versucht, dieses Protokoll als Standard-Client zu registrieren, könnte der Angreifer in die Windows-Registrierung schreiben und potenziell die Systemkonfiguration kompromittieren. Der Erfolg der Ausnutzung hängt von der Fähigkeit des Angreifers ab, die Anwendung dazu zu bringen, einen nicht validierten Protokollnamen zu verwenden. Die Komplexität der Ausnutzung kann je nach Architektur der Anwendung und den vorhandenen Sicherheitsmaßnahmen variieren.
Exploit-Status
EPSS
0.03% (9% Perzentil)
CISA SSVC
CVSS-Vektor
Die Lösung zur Minderung von CVE-2026-34773 ist die Aktualisierung auf Electron-Version 38.8.6 oder höher. Diese Version enthält eine ordnungsgemäße Validierung des Protokollnamens, bevor in die Registrierung geschrieben wird. Wenn ein sofortiges Update nicht möglich ist, wird empfohlen, den vom Benutzer bereitgestellten Protokollnamen gründlich zu validieren, bevor er an app.setAsDefaultProtocolClient() übergeben wird. Eine robuste Validierung sollte eine Whitelist der zulässigen Protokolle enthalten und alle Eingaben ablehnen, die nicht mit dieser Liste übereinstimmen. Überprüfen Sie außerdem den Code Ihrer Anwendung auf alle Fälle der Verwendung von app.setAsDefaultProtocolClient() mit externen Daten und wenden Sie die erforderlichen Validierungen an.
Actualice Electron a la versión 38.8.6, 39.8.1, 40.8.1 o 41.0.0 o superior. Asegúrese de que el nombre del protocolo utilizado en `app.setAsDefaultProtocolClient()` se derive de una fuente segura y no de entrada proporcionada por el usuario para evitar la inyección de claves de registro.
Schwachstellenanalysen und kritische Warnungen direkt in deinen Posteingang.
Electron ist ein Framework zum Erstellen von plattformübergreifenden Desktop-Anwendungen mit Webtechnologien wie HTML, CSS und JavaScript.
Überprüfen Sie die Version von Electron, die Ihre Anwendung verwendet. Wenn sie unter 38.8.6 liegt, ist sie anfällig. Überprüfen Sie außerdem den Code auf die Verwendung von app.setAsDefaultProtocolClient() mit externen Daten.
Dies ist ein Windows-Registrierungsschlüssel, der Informationen über Protokolle und ihre zugehörigen Handler speichert. Die Manipulation dieses Schlüssels kann das Systemverhalten beeinflussen.
Je nach gewünschter Funktionalität gibt es möglicherweise Alternativen. Berücksichtigen Sie die Sicherheitsimplikationen jeder alternativen Vorgehensweise sorgfältig.
Implementieren Sie eine gründliche Validierung des Protokollnamens, bevor Sie ihn an app.setAsDefaultProtocolClient() übergeben. Verwenden Sie eine Whitelist der zulässigen Protokolle.
Lade deine Abhängigkeitsdatei hoch und erfahre sofort, ob dich diese und andere CVEs treffen.