| Summary | Logseq exposes an IPC handler that allows the renderer process to execute shell commands. While an allowlist restricts the command name (e.g. `git`, `pandoc`, `grep`), the argument string is concatenated with the command and passed to `child_process.spawn` with the `shell: true` option, allowing shell metacharacters in the arguments to bypass the allowlist. An attacker with JavaScript execution in the renderer (e.g. via XSS or a malicious plugin) can execute arbitrary shell commands with the privileges of the Logseq process, leading to remote code execution on the host. |
|---|---|
| Publication Date | June 9, 2026, 11:16 p.m. |
| Registration Date | June 10, 2026, 4:16 a.m. |
| Last Update | June 9, 2026, 11:47 p.m. |