CVE-2026-46529
HighCVSS 7.8Exploitation Probability (EPSS)
Low risk41th percentile - higher than 41% of all known CVEs
Summary
A single-click remote code execution vulnerability in Atril Document Viewer (default PDF reader in MATE) allows an attacker to execute arbitrary commands by tricking a user into clicking a link in a malicious PDF. The root cause is missing shell quoting in the `ev_spawn` function.
Risk Assessment
The risk is critical as the attack requires only opening a crafted PDF and clicking a link, potentially leading to full workstation compromise, data theft, or lateral movement within the network.
Recommendation
Immediately update Atril Document Viewer to version 1.26.3 or 1.28.4 which contain the fix. Until updated, block PDFs from untrusted sources and disable link handling in the PDF viewer.
Original NVD description (English source)
Atril Document Viewer is the default document reader of the MATE desktop environment for Linux. A single-click remote code execution vulnerability in versions prior to 1.26.3 and 1.28.4 allows an attacker to achieve arbitrary code execution as the user by tricking them into clicking a link inside a malicious PDF document. The PDF can be packaged as a polyglot file that is simultaneously a valid PDF and a valid ELF shared library, making the attack a single-file, single-click, configuration-independent RCE on stock atril installations. The root cause is `shell/ev-application.c:ev_spawn`, which builds a command line from attacker-controlled PDF link-destination fields without applying `g_shell_quote`. The cmdline is then handed to `g_app_info_create_from_commandline`, which shell-parses it back into argv — splitting any embedded `--gtk-module=PATH` into a separate argv element. GTK then `dlopen()`s the path during init, running any `__attribute__((constructor))` it finds. Versions 1.26.3 and 1.28.4 contain a patch for the issue. This is the same defect class as CVE-2023-51698 (CBT `--checkpoint-action` injection in `comics-document.c`, fixed in 1.6.2) but in a different code path (`shell/ev-application.c`) that the original patch did not touch.

