CVE-2026-34780
WysokieCVSS 8.3Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 25 - wyżej niż 25% wszystkich znanych CVE
Streszczenie
Electron w wersjach od 39.0.0-alpha.1 do przed 39.8.0, od 40.0.0-alpha.1 do przed 40.7.0 oraz od 41.0.0-alpha.1 do przed 41.0.0-beta.8 zawiera podatność na ominięcie izolacji kontekstu. Aplikacje przekazujące obiekty VideoFrame (z API WebCodecs) przez contextBridge są podatne na atak. Osoba atakująca, która może wykonać JavaScript w głównym świecie (np. przez XSS), może użyć mostkowanego VideoFrame, aby uzyskać dostęp do izolowanego świata, w tym do API Node.js udostępnionych skryptowi preload.
Ocena ryzyka
Ryzyko polega na możliwości ominięcia izolacji kontekstu, co może prowadzić do nieautoryzowanego dostępu do wrażliwych API Node.js i potencjalnego przejęcia kontroli nad aplikacją.
Rekomendacja
Zaleca się aktualizację Electrona do wersji 39.8.0, 40.7.0 lub 41.0.0-beta.8, które zawierają łatkę. Należy również unikać przekazywania obiektów VideoFrame przez contextBridge, jeśli nie jest to absolutnie konieczne.
Inne podatności w Electron
Zobacz wszystkie- 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.
- CVE-2026-102676Wysokie
Elektron to framework do tworzenia aplikacji desktopowych. Przed wersjami 41.10.6, 42.9.2, 43.4.1 i 44.0.0-beta.5, gość <webview> mógł włączyć nodeIntegrationInWorker dla swoich Web Workerów, nawet gdy osadzający (embedder) miał wyłączoną integrację Node.js i nie był w piaskownicy. Pozwalało to niezaufanej treści na utworzenie workera z uprawnieniami Node.js, przekraczającymi przyznane przez osadzającego.
- CVE-2026-102675Wysokie
Elektron przed wersjami 41.10.6, 42.9.2, 43.4.1 i 44.0.0-beta.5 miał problem z odpowiedziami serwowanymi przez protocol.registerFileProtocol lub protocol.registerHttpProtocol dla niestandardowego schematu z włączonym supportFetchAPI, ale wyłączonym corsEnabled. Odpowiedzi te mogły pozostać czytelne dla skryptów z innych źródeł (cross-origin). Jest to dopełnienie poprawki dla CVE-2026-70604.
- CVE-2026-102674Wysokie
Elektron przed wersjami 41.10.6, 42.9.2, 43.4.1 i 44.0.0-beta.5 nie dziedziczył aktywnych ograniczeń sandboxa HTML dla okien otwieranych z sandboxowanego dokumentu najwyższego poziomu. Niezaufana treść w takim dokumencie, która mogła otwierać popupy, mogła utworzyć okno z pełnym originem aplikacji Electron, zamiast ograniczonego originu przewidzianego przez sandbox.
- CVE-2026-102673Wysokie
Elektron przed wersjami 41.10.4, 42.5.2 i 43.0.0 nie przekazywał odziedziczonych ograniczeń sandboxa HTML do popupów otwieranych z sandboxowanego iframe przez ścieżkę OpenURLFromTab, w tym linki z target="_blank" lub środkowym kliknięciem. Niezaufany iframe z konfiguracją allow-scripts allow-popups mógł otworzyć popup z pełnym originem aplikacji, ujawniając ciasteczka, storage i możliwości skryptowania samego originu.
- CVE-2026-70612Średnie
Electron to framework do tworzenia aplikacji desktopowych. Przed wersjami 39.8.8, 40.9.0, 41.2.1 i 42.0.0-beta.3, żądania otwarcia zewnętrznych protokołów URL z treści web nie uwzględniały ograniczeń sandboxa iframe, więc sandboxowany iframe mógł uruchomić zewnętrzną aplikację zarejestrowaną w systemie operacyjnym. Stan sandboxa ramki nie był również udostępniany handlerom uprawnień aplikacji, co wpływa na aplikacje renderujące niezaufane treści w sandboxowanych iframe i przyznające domyślnie uprawnienie openExternal, gdy nie zainstalowano setPermissionRequestHandler.
- CVE-2026-70611Średnie
Electron to framework do tworzenia aplikacji desktopowych. Przed wersjami 39.8.9, 40.9.2, 41.2.1 i 42.0.0-beta.3, akcja DevTools 'reveal in file manager' mogła uruchomić docelowy plik zamiast go pokazać. Atakujący z osobnym sposobem uruchamiania skryptów w frontendzie DevTools, takim jak złośliwe rozszerzenie DevTools, mógł użyć obsługi showItemInFolder do wykonania natywnego kodu poza sandboxem, gdy DevTools jest otwarty dla okien narażonych na niezaufane treści lub niezaufane rozszerzenia DevTools.
- CVE-2026-70610Średnie
Electron to framework do tworzenia aplikacji desktopowych. Przed wersjami 39.8.9, 40.9.2, 41.2.2 i 42.0.0-beta.4, obiekty kopiowane przez granicę contextBridge z niezaufanych treści mogły przenosić prototyp wpływający na atakującego, umożliwiając ataki typu prototype pollution na kod preload, mimo włączonej izolacji kontekstu. Aplikacje są dotknięte tylko wtedy, gdy ich kod preload akceptuje argumenty obiektowe z niezaufanych treści i czyta z nich właściwości bez sprawdzania własności; aplikacje akceptujące tylko argumenty prymitywne lub walidujące argumenty obiektowe nie są dotknięte.
- CVE-2026-70609Średnie
Electron to framework do tworzenia aplikacji desktopowych. Przed wersjami 39.8.7, 40.9.0, 41.2.0 i 42.0.0-beta.1, opcja mode w webContents.openDevTools() nie była sanityzowana przed użyciem przez frontend DevTools. Jeśli atakujący może wpłynąć na tę wartość, skrypt pod jego kontrolą może zostać uruchomiony w kontekście DevTools, który w konfiguracjach bez sandboxa ma dostęp do Node.js, w tym gdy niezaufane dane wejściowe trafiają do argumentu mode funkcji openDevTools() lub gdy niezaufana treść wywołuje openDevTools() na osadzonym webview.
Oryginalny opis (angielski, źródło NVD)
Electron is a framework for writing cross-platform desktop applications using JavaScript, HTML and CSS. From versions 39.0.0-alpha.1 to before 39.8.0, 40.0.0-alpha.1 to before 40.7.0, and 41.0.0-alpha.1 to before 41.0.0-beta.8, apps that pass VideoFrame objects (from the WebCodecs API) across the contextBridge are vulnerable to a context isolation bypass. An attacker who can execute JavaScript in the main world (for example, via XSS) can use a bridged VideoFrame to gain access to the isolated world, including any Node.js APIs exposed to the preload script. Apps are only affected if a preload script returns, resolves, or passes a VideoFrame object to the main world via contextBridge.exposeInMainWorld(). Apps that do not bridge VideoFrame objects are not affected. This issue has been patched in versions 39.8.0, 40.7.0, and 41.0.0-beta.8.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

