CVE-2026-34773
ŚrednieCVSS 4.7Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 15 - wyżej niż 15% wszystkich znanych CVE
Streszczenie
Electron na Windows nie waliduje nazwy protokołu w app.setAsDefaultProtocolClient() przed zapisem do rejestru. Aplikacje przekazujące niezaufane dane jako nazwę protokołu mogą pozwolić atakującemu na zapis do dowolnych podkluczy rejestru, potencjalnie przejmując istniejące procedury obsługi protokołów.
Ocena ryzyka
Atakujący może przejąć obsługę protokołów systemowych, co może prowadzić do uruchomienia złośliwego oprogramowania po kliknięciu linku.
Rekomendacja
Zaktualizuj Electron do wersji 38.8.6, 39.8.1, 40.8.1 lub 41.0.0. Używaj tylko zakodowanych na stałe nazw protokołów.
Inne podatności w Electron
Zobacz wszystkie- CVE-2026-115570Wysokie
Electron to framework do tworzenia wieloplatformowych aplikacji desktopowych przy użyciu JavaScript, HTML i CSS. W wersjach przed 42.11.16, 43.8.1, 44.9.1 i 45.0.0-beta.6 Electron nie blokuje skompromitowanych certyfikatów pośrednich eMudhra w sieci Chromium, Node.js tls, Node.js https ani Node.js fetch. Atakujący posiadający certyfikat wystawiony przez taki certyfikat pośredni i mogący przechwycić ruch sieciowy może podszyć się pod serwer TLS dla podatnej aplikacji.
- CVE-2026-114124Niskie
W Electronie przed wersjami 42.11.6, 43.7.3, 44.4.3 i 45.0.0-alpha.9 dane ramek otrzymywane z procesu GPU przy renderowaniu offscreen na macOS nie były w pełni walidowane przez proces główny. Atakujący z kodem wykonawczym w procesie GPU mógł dostarczyć niespójną geometrię ramki i spowodować odczyt poza granicami pamięci w procesie głównym, ujawniając pamięć lub powodując awarię aplikacji.
- CVE-2026-114122Niskie
W Electronie przed wersjami 42.11.6, 43.7.3, 44.4.3 i 45.0.0-alpha.9 dane ramek otrzymywane z procesu GPU dla webContents.beginFrameSubscription nie były w pełni walidowane przez proces główny. Atakujący z kodem wykonawczym w procesie GPU mógł dostarczyć niespójną geometrię ramki i spowodować odczyt poza granicami pamięci w procesie głównym, ujawniając pamięć lub powodując awarię aplikacji.
- CVE-2026-114121Średnie
W Electronie przed wersjami 42.11.3, 43.7.0, 44.3.0 i 45.0.0-alpha.5 żądania otwarcia zewnętrznych adresów URL protokołów mogły być przypisane do innego dokumentu niż ten, który je zainicjował. Powodowało to, że parametr requestingUrl przekazywany do session.setPermissionRequestHandler wskazywał zaufaną treść dla żądania pochodzącego z niezaufanej treści.
- CVE-2026-113800Średnie
Electron to framework do tworzenia aplikacji desktopowych. W wersjach przed 42.11.3, 43.7.0, 44.3.0 i 45.0.0-alpha.5 sprawdzanie uprawnień hid i usb wykonywane z iframe powodowało, że setPermissionCheckHandler otrzymywał origin i szczegóły ramki najwyższego poziomu zamiast ramki żądającej. Aplikacja, która delegowała hid lub usb do niezaufanego iframe cross-origin i zezwalała na dostęp do urządzeń na podstawie logiki origin, mogła przyznać tej osadzonej ramce dostęp przeznaczony dla strony najwyższego poziomu.
- CVE-2026-113798Średnie
W frameworku Electron żądania uprawnień pointerLock z niektórych iframe'ów cross-origin powodowały, że session.setPermissionRequestHandler() otrzymywał requestingUrl i isMainFrame ramki najwyższego poziomu zamiast wartości ramki żądającej. Aplikacja osadzająca niezaufaną zawartość iframe i przyznająca pointer lock na podstawie pochodzenia żądania mogła przyznać uprawnienie w imieniu strony najwyższego poziomu. Problem naprawiono w wersjach 42.11.9, 43.7.6, 44.5.0 i 45.0.0-alpha.13.
- CVE-2026-113797Niskie
W frameworku Electron funkcja chrome.tabs.query() zwracała adres URL i tytuł każdej karty rozszerzeniom, które nie miały uprawnienia tabs ani pasujących uprawnień hosta. Aplikacja ładująca niezaufane rozszerzenie przez session.extensions.loadExtension mogła pozwolić mu odczytać URL i tytuł każdego webContents w swojej sesji. Problem naprawiono w wersjach 42.11.1, 43.5.1, 44.1.1 i 45.0.0-alpha.4.
- CVE-2026-113796Średnie
W Electronie przed wersjami 42.11.3, 43.7.0, 44.3.0 i 45.0.0-alpha.6 strony otwierane w nowym oknie z linków były traktowane jako nawigacje zainicjowane przez aplikację, zamiast zachowania strony zawierającej link jako inicjatora. Powodowało to, że żądanie najwyższego poziomu mogło zostać zaklasyfikowane jako same-site, wysyłając ciasteczka SameSite=Strict i nie ujawniając inicjatora w Sec-Fetch-Site.
- CVE-2026-102672Średnie
Aplikacje Electron na macOS korzystające z automatycznych aktualizacji opartych na Squirrel.Mac są podatne na lokalny wyścig w uprzywilejowanym pomocniku ShipIt w wersjach przed 39.8.10, 41.10.5 i 42.0.0-beta.2. Pomocnik nie wiązał zweryfikowanego celu aktualizacji z jedną kanoniczną ścieżką pakietu aplikacji, co pozwala lokalnemu atakującemu przekierować zapis z uprawnieniami roota i nadpisać pliki innej aplikacji.
- CVE-2026-102677Wysokie
Electron to framework do tworzenia aplikacji desktopowych. W wersjach od 42.3.3 do 42.10.0, 43.5.0 i 44.0.0-beta.6, sandboxowany preload code cache nie weryfikował, czy wpis w cache odpowiada preloadowi, dla którego był serwowany. Złamany renderer mógł zapisać dane cache kontrolowane przez atakującego i spowodować, że Electron użyje ich przy późniejszym ładowaniu, wykonując kod renderera w bardziej uprzywilejowanym kontekście preload. Problem dotyczy aplikacji ładujących niezaufane treści. Poprawiono w wersjach 42.10.0, 43.5.0 i 44.0.0-beta.6.
Oryginalny opis (angielski, źródło NVD)
Electron is a framework for writing cross-platform desktop applications using JavaScript, HTML and CSS. Prior to versions 38.8.6, 39.8.1, 40.8.1, and 41.0.0, on Windows, app.setAsDefaultProtocolClient(protocol) did not validate the protocol name before writing to the registry. Apps that pass untrusted input as the protocol name may allow an attacker to write to arbitrary subkeys under HKCU\Software\Classes\, potentially hijacking existing protocol handlers. Apps are only affected if they call app.setAsDefaultProtocolClient() with a protocol name derived from external or untrusted input. Apps that use a hardcoded protocol name are not affected. This issue has been patched in versions 38.8.6, 39.8.1, 40.8.1, and 41.0.0.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

