HIGH🇬🇧 English

CVE-2026-66298

Livebook: nieautoryzowane wykonanie kodu przez sfałszowane zdarzenia klawiatury

CVSS 8.6v4.0pub. 2026-08-05upd. 2026-08-10

Podatność klasy Origin Validation Error w aplikacji livebook-dev/Livebook pozwala niezaufanemu skryptowi JavaScript osadzonemu w wyjściu notatnika na wyzwalanie globalnych skrótów klawiszowych sesji, w tym wymuszenie wykonania wszystkich komórek kodu bez zgody użytkownika. Jest to szczególnie groźne, ponieważ atak uruchamia się automatycznie w momencie otwarcia złośliwego notatnika.

Pokaż oryginał (EN)

Origin Validation Error vulnerability in livebook-dev livebook allows untrusted notebook output JavaScript to trigger session-wide keyboard shortcuts, including forced evaluation of all cells and runtime restart. Livebook's JS-view feature renders notebook-defined JavaScript inside a sandboxed, cross-origin iframe specifically because that JavaScript is untrusted. The trusted iframe shell in iframe/priv/static/iframe/v5.html forwards every keydown event fired in its own window to the parent page without consulting Event.isTrusted, so an event synthesized by the untrusted script through window.dispatchEvent is forwarded exactly as a genuine keystroke would be. The parent-side relay in assets/js/hooks/js_view.js reconstructs and re-dispatches it on the live page with no further validation, and because assets/js/hooks/session.js registers the global shortcut handler on the document in the capture phase, that handler acts on the replicated event regardless of how it was produced. Sandboxed output JavaScript can therefore drive Livebook's session-wide keyboard shortcuts. Two of them reach LivebookWeb.SessionLive and execute immediately with no confirmation: the shortcut for queueing full evaluation runs every cell in the notebook, and the shortcut for reconnecting the runtime disconnects and reconnects it, discarding in-memory state. A third shortcut deletes the focused cell behind a confirmation dialog that the user can permanently dismiss, after which it too executes silently. Forced full evaluation is the significant consequence, because it causes the notebook's own Elixir code to run without the user choosing to evaluate anything. A user who merely opens a notebook obtained from a third party, or reached from published documentation, can have its code executed on their runtime. Livebook also mirrors cell outputs to every connected client, so a malicious output triggers in a collaborator's browser as soon as it renders. This issue affects livebook: from 0.5.0 before 0.18.7 and from 0.19.0 before 0.19.9.

🤖 Analiza AI
Jak działa

Funkcja JS-view renderuje JavaScript notatnika wewnątrz izolowanego, cross-origin iframe — jednak zaufana powłoka iframe (iframe/priv/static/iframe/v5.html) przekazuje każde zdarzenie keydown do strony nadrzędnej bez weryfikacji flagi Event.isTrusted. Oznacza to, że zdarzenie klawiaturowe sztucznie wygenerowane przez niezaufany skrypt poprzez window.dispatchEvent jest traktowane identycznie jak rzeczywiste naciśnięcie klawisza. Strona nadrzędna, poprzez assets/js/hooks/js_view.js, odtwarza i ponownie wysyła to zdarzenie bez żadnej dodatkowej walidacji, a globalny handler skrótów klawiszowych zarejestrowany w assets/js/hooks/session.js przechwytuje je w fazie capture na poziomie dokumentu, co sprawia, że reaguje na nie niezależnie od jego źródła.

Skutki

Atakujący może wymusić wykonanie całego kodu Elixir zawartego w notatniku bez jakiejkolwiek interakcji ze strony użytkownika — wystarczy samo otwarcie złośliwego notatnika. Możliwe jest także zrestartowanie środowiska uruchomieniowego (z utratą stanu w pamięci) oraz ciche usunięcie komórek; ponadto złośliwe wyjście jest lustrzanie powielane do przeglądarek wszystkich współpracowników podłączonych do tej samej sesji.

Mitygacja

Należy zaktualizować Livebook do wersji 0.18.7 lub 0.19.9 (albo nowszych). Poprawki dostępne są w commitach 296318ffdfa6e5ed7b18ad8d5a5b2af90f3cd728, 5980e5c6b71036806b3bf54101eb1d6c0f50f19c oraz a552ce8f99ad348ea37061394dc950a0cebdb33e w repozytorium GitHub. Do czasu aktualizacji należy unikać otwierania notatników pochodzących z niezaufanych lub nieznanych źródeł.

Kogo dotyczy

livebook-dev/Livebook w wersjach od 0.5.0 przed 0.18.7 oraz od 0.19.0 przed 0.19.9

Uwagi

Podatność dotyczy scenariusza, w którym sam fakt otwarcia notatnika dostarczonego przez osobę trzecią (np. z publicznej dokumentacji) skutkuje wykonaniem zawartego w nim kodu Elixir. Efekt jest powielany do wszystkich klientów współdzielących sesję Livebook.

CVSS Vector
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:A/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
  • Livebook

    APP
    Livebook
    0.5.0 – 0.18.7 (bez)0.19.0 – 0.19.9 (bez)
🔵
ZWERYFIKUJ U PRODUCENTA
Brak jednoznacznych danych o patchu. Sprawdź referencje od producenta.
CWE
Referencje

Powiązane podatności

CVE-2026-66881HIGH7.0PL ✓ten sam produkt

Path Traversal w livebook-dev Livebook — zapis pliku poza katalogiem sesji

CVE-2026-68746HIGH7.7PL ✓ten sam produkt

Failing Open w Livebook Teams — nieautoryzowany pełny dostęp do serwera

CVE-2023-35174HIGH8.6ten sam produkt

Livebook is a web application for writing interactive and collaborative code notebooks. On Windows, it is poss...

CVE-2026-66297MEDIUM4.9ten sam produkt

Improper Neutralization of Special Elements used in an OS Command (OS Command Injection) vulnerability in live...

CVE-2026-66885MEDIUM6.8ten sam produkt

Cross-Site Request Forgery (CSRF) vulnerability in livebook-dev livebook allows an attacker to authenticate a ...