Jonatan Kłosko

#7161of 56,330
40.5Total CVSS
Vulnerabilities · 5
Medium
1
High
4
PT-2026-68317
8.8
2026-08-05
Livebook · Livebook · CVE-2026-66298
**Name of the Vulnerable Software and Affected Versions** livebook versions 0.5.0 through 0.18.6 livebook versions 0.19.0 through 0.19.8 **Description** An origin validation error allows untrusted notebook output JavaScript to trigger session-wide keyboard shortcuts. The JS-view feature renders JavaScript in a sandboxed, cross-origin iframe. However, the iframe shell in `iframe/priv/static/iframe/v5.html` forwards `keydown` events to the parent page without verifying `Event.isTrusted`. Consequently, events synthesized via `window.dispatchEvent` are treated as genuine keystrokes. The relay in `assets/js/hooks/js view.js` re-dispatches these events, which are then processed by the global shortcut handler in `assets/js/hooks/session.js` during the capture phase. This allows sandboxed scripts to execute shortcuts in `LivebookWeb.SessionLive`, such as forcing the evaluation of all cells in the notebook or restarting the runtime, which discards in-memory state. A third shortcut can delete the focused cell. The most critical impact is the forced full evaluation, which executes the notebook's Elixir code without user consent. This can occur when a user opens a notebook from a third party or published documentation, and the effect is mirrored to all connected collaborators. **Recommendations** Update livebook versions 0.5.0 through 0.18.6 to version 0.18.7. Update livebook versions 0.19.0 through 0.19.8 to version 0.19.9.
PT-2026-68318
8.1
2026-08-05
Livebook · Livebook · CVE-2026-66881
**Name of the Vulnerable Software and Affected Versions** livebook versions 0.11.0 through 0.18.6 livebook versions 0.19.0 through 0.19.8 **Description** A Relative Path Traversal issue allows an attacker to write a file with controlled content to an arbitrary path on the system. This occurs because the import path in `Livebook.LiveMarkdown.Import.file entry metadata to attrs/1` takes the name from the notebook source verbatim without validation. For URL-type file entries, the function `Livebook.Session.file entry cache file/2` resolves the name beneath the session temporary directory without verifying if the result remains within that directory. Additionally, `Livebook.FileSystem.Utils.resolve unix like path/2` collapses parent-directory segments but only clamps at the filesystem root. Consequently, when content is requested and no cache exists, the system writes the response body to the resolved path, creating parent directories as needed. This allows an attacker to control both the destination and content of the written file anywhere the process has write permissions. A similar lack of containment check exists in `Livebook.Session.to attachment file entry/2`. A victim triggers this by opening an attacker-supplied notebook and causing the entry to be fetched within their authenticated session. **Recommendations** Update livebook versions 0.11.0 through 0.18.6 to version 0.18.7. Update livebook versions 0.19.0 through 0.19.8 to version 0.19.9.