An arbitrary code execution vulnerability in the GNU Emacs text editor has proven to be more widespread than initially patched. The original remediation for CVE-2024-53920 addressed the flaw only in Emacs Lisp mode, but new analysis shows the same issue affects other major modes as well.

Sean Whitton announced on the Emacs development mailing list that the initial fix was incomplete. Researcher Bas Alberts subsequently discovered that viewing or editing untrusted files in non-Lisp modes can also trigger arbitrary code execution. The vulnerability affects all Emacs versions from version 24 onward.

The flaw is notable because Emacs is commonly used in development environments where it may have access to credentials, compilers, and other sensitive resources. A malicious file opened in Emacs could, in theory, execute arbitrary code with the privileges of the running Emacs process.

A minimal fix has been queued for release with Emacs 31.2. In the meantime, users are advised to avoid opening files from untrusted sources, or to do so within a restricted or sandboxed environment.

The incident illustrates a broader challenge in security patching: the importance of addressing an entire class of vulnerability rather than a single reported instance. The original patch targeted the specific code path in Lisp mode, but the same flaw exists across multiple modes.


GNU Emacs 文字編輯器中的一個任意代碼執行漏洞,已被證實影響範圍比最初修補所涵蓋的更廣泛。CVE-2024-53920 的原始補救措施僅解決了 Emacs Lisp 模式中的缺陷,但新分析顯示,相同的問題也影響其他主要模式。

Sean Whitton 在 Emacs 開發電郵列表中宣布,最初的修補並不完整。研究員 Bas Alberts 隨後發現在非 Lisp 模式下檢視或編輯不受信任的檔案,同樣可能觸發任意代碼執行。此漏洞影響所有 24 版及以上的 Emacs 版本。

此缺陷值得注意,因為 Emacs 常用於開發環境,可能存取到憑證、編譯器及其他敏感資源。從理論上說,在 Emacs 中開啟的惡意檔案,有可能以正在執行的 Emacs 行程權限執行任意代碼。

一個最小修復已準備隨 Emacs 31.2 版本發布。同時,建議用戶避免開啟來自不受信任來源的檔案,或在受限或沙盒化的環境中操作。

此事例突顯了安全修補工作中一個更廣泛的挑戰:必須處理整類漏洞,而非僅僅針對單一已報告的實例。最初的補丁針對 Lisp 模式中的特定代碼路徑,但相同的缺陷存在於多個模式之中。

新聞來源 / Original News Source