Streambert: Arbitrary File Write (Zip Slip) via Subtitle Extraction
Description
A Zip Slip vulnerability in Streambert's subtitle extraction allows arbitrary file write via malicious ZIP archives, fixed in version 2.5.0.
AI Insight
LLM-synthesized narrative grounded in this CVE's description and references.
A Zip Slip vulnerability in Streambert's subtitle extraction allows arbitrary file write via malicious ZIP archives, fixed in version 2.5.0.
Vulnerability
A high-severity Zip Slip vulnerability exists in Streambert's subtitle extraction logic (src/ipc/subtitles.js). The application downloads a ZIP archive and extracts its entries without sanitizing filenames. The destination path is constructed by concatenating the raw archive entry name directly to the temporary directory path: path.join(os.tmpdir(), 'streambert_sub_${Date.now()}_${extracted.name}'). This allows directory traversal sequences (e.g., ../../../../etc/cron.d/malicious) to escape the temporary directory. Affected versions are 2.4.0 and prior [1].
Exploitation
An attacker must host a malicious ZIP archive on an HTTPS server and trick the user into triggering subtitle extraction via the IPC channel get-subtitle-url. The attacker crafts a ZIP with entries containing path traversal sequences. The user executes an IPC invocation (e.g., via Developer Tools) or is tricked into processing a malicious subtitle URL. The application downloads and extracts the archive, writing files to arbitrary locations on the host filesystem subject to the application's write permissions [1].
Impact
Successful exploitation allows arbitrary file write, potentially leading to system compromise. On Windows, an attacker could write a payload to the Startup folder for persistence; on Linux, to cron jobs or other sensitive locations. The impact is high, as it can result in remote code execution or privilege escalation depending on the written file [1].
Mitigation
The vulnerability is fixed in Streambert version 2.5.0, released on 2026-06-16. Users should update to 2.5.0 immediately. No workarounds are mentioned in the available references. The fix likely involves sanitizing archive entry names to prevent path traversal [1][2].
AI Insight generated on Jun 17, 2026. Synthesized from this CVE's description and the cited reference URLs; citations are validated against the source bundle.
Patches
0No patches discovered yet.
Vulnerability mechanics
Root cause
"The application does not sanitize archive entry filenames during extraction, allowing directory traversal sequences to escape the temporary directory."
Attack vector
An attacker hosts a malicious ZIP archive containing entries with directory traversal sequences (e.g., `../../../../tmp/streambert_poc.txt`). The attacker then triggers the `get-subtitle-url` IPC channel by sending a crafted payload that points the application to download and extract that archive. Because the destination path is built by concatenating the raw archive entry name directly to the temporary directory path, the traversal sequences escape the intended extraction directory, and the extracted file is written anywhere on the host filesystem that the application can write to [ref_id=1].
What the fix does
The patch sanitizes each archive entry name by applying `path.basename()` before constructing the destination path. This discards any directory traversal segments (e.g., `../../../../tmp/streambert_poc.txt` becomes `streambert_poc.txt`), ensuring the extracted file remains within the intended temporary subdirectory. Without this sanitization, a malicious entry name could escape the temporary directory and write arbitrary files to the host filesystem [ref_id=1].
Preconditions
- networkThe attacker must host a malicious ZIP archive on an HTTPS server that the application can fetch.
- inputThe attacker must invoke the `get-subtitle-url` IPC channel with a crafted payload pointing to the malicious archive.
- configThe application must have write permissions to the target location on the host filesystem.
Generated on Jun 17, 2026. Inputs: CWE entries + fix-commit diffs from this CVE's patches. Citations validated against bundle.
References
2- github.com/truelockmc/streambert/releases/tag/2.5.0mitrex_refsource_MISC
- github.com/truelockmc/streambert/security/advisories/GHSA-3q2x-3q9p-qwfcmitrex_refsource_CONFIRM
News mentions
0No linked articles in our index yet.