CVE-2024-30205
NoneCVSS
—
EPSS
0.5%
Published
Mar 25, 2024
CISA due date
—
Cloudanix analysis
A flaw in a popular text editing program could allow attackers to run harmful code simply by getting users to open certain files stored online.
- Exploitation
- Requires User Interaction
- Attacker needs
- User Interaction
- Complexity
- Moderate
- Impact
- Remote Code Execution
- Component
- Application
- Class
- Improper Input Validation
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Low
What it actually does
Org mode treats the contents of remote files as trusted input without validation, allowing execution of embedded code or directives from untrusted remote sources in vulnerable Emacs versions.
Why it matters to the business
Organizations using Emacs for document editing face risk of system compromise or data exposure when users interact with remote Org files, increasing the chance of unauthorized code execution and potential supply-chain style attacks through shared documents.
How an attack unfolds
An attacker hosts a malicious Org file containing executable directives or code on a remote server or repository; the victim opens or loads the file in a vulnerable Emacs Org mode instance, which processes the remote content as trusted and executes the attacker's payload.
How to fix it
Upgrade Emacs to version 29.3 or later and Org mode to 9.6.23 or later; for the org-mode git repository apply commit 4255d5dcc0657915f90e4fba7e0a5514cced514d.
How to confirm the fix worked
Verify Emacs version is at least 29.3 and Org mode version is at least 9.6.23; confirm the git commit hash in the org-mode repository matches or exceeds 4255d5dcc0657915f90e4fba7e0a5514cced514d.
Typical attack path
- Attacker crafts malicious Org file with executable content or links
- Attacker hosts the file on a publicly accessible remote location
- Victim opens the remote file using vulnerable Emacs Org mode
- Org mode processes the remote content without validation and executes the payload
How to detect it
Review Emacs and Org mode version logs or configuration files for pre-29.3 / pre-9.6.23 instances; examine user activity logs for opening of remote Org files and correlate with unexpected process execution or network connections initiated from Emacs.
What your security team should do
- Immediately update all Emacs installations to the fixed versions
- Scan for and restrict use of remote Org files until patches are applied
- Monitor EPSS score and threat intelligence feeds for any increase in exploitation activity
The record
In Emacs before 29.3, Org mode considers contents of remote files to be trusted. This affects Org Mode before 9.6.23.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| AlmaLinux:8 | emacs | 0 | 1:26.1-12.el8_10 |
| AlmaLinux:8 | emacs-common | 0 | 1:26.1-12.el8_10 |
| AlmaLinux:8 | emacs-filesystem | 0 | 1:26.1-12.el8_10 |
| AlmaLinux:8 | emacs-lucid | 0 | 1:26.1-12.el8_10 |
| AlmaLinux:8 | emacs-nox | 0 | 1:26.1-12.el8_10 |
| AlmaLinux:8 | emacs-terminal | 0 | 1:26.1-12.el8_10 |
| Debian:10 | emacs | 0 | 1:26.1+1-3.2+deb10u5 |
| Debian:10 | org-mode | 0 | 9.1.14+dfsg-3+deb10u2 |
| Debian:11 | emacs | 0 | 1:27.1+1-3.1+deb11u3 |
| Debian:11 | org-mode | 0 | 9.4.0+dfsg-1+deb11u2 |
| Debian:12 | emacs | 0 | 1:28.2+1-15+deb12u1 |
| Debian:12 | org-mode | 0 | No fix |
| Debian:13 | emacs | 0 | 1:29.3+1-1 |
| Debian:13 | org-mode | 0 | 9.6.23+dfsg-1 |
| Debian:14 | emacs | 0 | 1:29.3+1-1 |
| Debian:14 | org-mode | 0 | 9.6.23+dfsg-1 |
| Mageia:9 | emacs | 0 | 28.2-10.1.mga9 |
| Red Hat:enterprise_linux:8::appstream | emacs | 0 | 1:26.1-12.el8_10 |
| Red Hat:enterprise_linux:8::appstream | emacs-common | 0 | 1:26.1-12.el8_10 |
| Red Hat:enterprise_linux:8::appstream | emacs-common-debuginfo | 0 | 1:26.1-12.el8_10 |
| Red Hat:enterprise_linux:8::appstream | emacs-debuginfo | 0 | 1:26.1-12.el8_10 |
| Red Hat:enterprise_linux:8::appstream | emacs-debugsource | 0 | 1:26.1-12.el8_10 |
| Red Hat:enterprise_linux:8::appstream | emacs-filesystem | 0 | 1:26.1-12.el8_10 |
| Red Hat:enterprise_linux:8::appstream | emacs-lucid | 0 | 1:26.1-12.el8_10 |
| Red Hat:enterprise_linux:8::appstream | emacs-lucid-debuginfo | 0 | 1:26.1-12.el8_10 |
| Red Hat:enterprise_linux:8::appstream | emacs-nox | 0 | 1:26.1-12.el8_10 |
| Red Hat:enterprise_linux:8::appstream | emacs-nox-debuginfo | 0 | 1:26.1-12.el8_10 |
| Red Hat:enterprise_linux:8::appstream | emacs-terminal | 0 | 1:26.1-12.el8_10 |
| Red Hat:enterprise_linux:8::baseos | emacs | 0 | 1:26.1-12.el8_10 |
| Red Hat:enterprise_linux:8::baseos | emacs-common | 0 | 1:26.1-12.el8_10 |
| Red Hat:enterprise_linux:8::baseos | emacs-common-debuginfo | 0 | 1:26.1-12.el8_10 |
| Red Hat:enterprise_linux:8::baseos | emacs-debuginfo | 0 | 1:26.1-12.el8_10 |
| Red Hat:enterprise_linux:8::baseos | emacs-debugsource | 0 | 1:26.1-12.el8_10 |
| Red Hat:enterprise_linux:8::baseos | emacs-filesystem | 0 | 1:26.1-12.el8_10 |
| Red Hat:enterprise_linux:8::baseos | emacs-lucid | 0 | 1:26.1-12.el8_10 |
| Red Hat:enterprise_linux:8::baseos | emacs-lucid-debuginfo | 0 | 1:26.1-12.el8_10 |
| Red Hat:enterprise_linux:8::baseos | emacs-nox | 0 | 1:26.1-12.el8_10 |
| Red Hat:enterprise_linux:8::baseos | emacs-nox-debuginfo | 0 | 1:26.1-12.el8_10 |
| Red Hat:enterprise_linux:8::baseos | emacs-terminal | 0 | 1:26.1-12.el8_10 |
| Red Hat:enterprise_linux:9::appstream | emacs | 0 | 1:27.2-10.el9 |
| Red Hat:enterprise_linux:9::appstream | emacs-common | 0 | 1:27.2-10.el9 |
| Red Hat:enterprise_linux:9::appstream | emacs-common-debuginfo | 0 | 1:27.2-10.el9 |
| Red Hat:enterprise_linux:9::appstream | emacs-debuginfo | 0 | 1:27.2-10.el9 |
| Red Hat:enterprise_linux:9::appstream | emacs-debugsource | 0 | 1:27.2-10.el9 |
| Red Hat:enterprise_linux:9::appstream | emacs-filesystem | 0 | 1:27.2-10.el9 |
| Red Hat:enterprise_linux:9::appstream | emacs-lucid | 0 | 1:27.2-10.el9 |
| Red Hat:enterprise_linux:9::appstream | emacs-lucid-debuginfo | 0 | 1:27.2-10.el9 |
| Red Hat:enterprise_linux:9::appstream | emacs-nox | 0 | 1:27.2-10.el9 |
| Red Hat:enterprise_linux:9::appstream | emacs-nox-debuginfo | 0 | 1:27.2-10.el9 |
| Rocky Linux:9 | emacs | 0 | 1:27.2-10.el9_4 |
| SUSE:Enterprise Storage 7.1 | emacs | 0 | 25.3-150000.3.22.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP2-LTSS | emacs | 0 | 25.3-150000.3.22.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP3-LTSS | emacs | 0 | 25.3-150000.3.22.1 |
| SUSE:Linux Enterprise Module for Basesystem 15 SP5 | emacs | 0 | 27.2-150400.3.11.1 |
| SUSE:Linux Enterprise Module for Desktop Applications 15 SP5 | emacs | 0 | 27.2-150400.3.11.1 |
| SUSE:Linux Enterprise Server 12 SP5 | emacs | 0 | 24.3-25.17.1 |
| SUSE:Linux Enterprise Server 15 SP2-LTSS | emacs | 0 | 25.3-150000.3.22.1 |
| SUSE:Linux Enterprise Server 15 SP3-LTSS | emacs | 0 | 25.3-150000.3.22.1 |
| SUSE:Linux Enterprise Server for SAP Applications 12 SP5 | emacs | 0 | 24.3-25.17.1 |
| SUSE:Linux Enterprise Server for SAP Applications 15 SP2 | emacs | 0 | 25.3-150000.3.22.1 |
| SUSE:Linux Enterprise Server for SAP Applications 15 SP3 | emacs | 0 | 25.3-150000.3.22.1 |
| Ubuntu:16.04:LTS | xemacs21 | 0 | No fix |
| Ubuntu:16.04:LTS | xemacs21-packages | 0 | No fix |
| Ubuntu:18.04:LTS | xemacs21 | 0 | No fix |
| Ubuntu:18.04:LTS | xemacs21-packages | 0 | No fix |
| Ubuntu:20.04:LTS | emacs | 0 | No fix |
| Ubuntu:20.04:LTS | org-mode | 0 | No fix |
| Ubuntu:20.04:LTS | xemacs21 | 0 | No fix |
| Ubuntu:20.04:LTS | xemacs21-packages | 0 | No fix |
| Ubuntu:22.04:LTS | emacs | 0 | No fix |
| Ubuntu:22.04:LTS | emacs | 0 | 1:27.1+1-3ubuntu5.2 |
| Ubuntu:22.04:LTS | org-mode | 0 | No fix |
| Ubuntu:22.04:LTS | xemacs21 | 0 | No fix |
| Ubuntu:22.04:LTS | xemacs21-packages | 0 | No fix |
| Ubuntu:24.04:LTS | emacs | 0 | No fix |
| Ubuntu:24.04:LTS | org-mode | 0 | No fix |
| Ubuntu:24.04:LTS | xemacs21 | 0 | No fix |
| Ubuntu:24.04:LTS | xemacs21-packages | 0 | No fix |
| Ubuntu:24.10 | org-mode | 0 | No fix |
| Ubuntu:24.10 | xemacs21 | 0 | No fix |
| Ubuntu:24.10 | xemacs21-packages | 0 | No fix |
| Ubuntu:25.04 | xemacs21 | 0 | No fix |
| Ubuntu:25.04 | xemacs21-packages | 0 | No fix |
| Ubuntu:25.10 | xemacs21 | 0 | No fix |
| Ubuntu:25.10 | xemacs21-packages | 0 | No fix |
| Ubuntu:Pro:16.04:LTS | emacs24 | 0 | No fix |
| Ubuntu:Pro:16.04:LTS | emacs24 | 0 | 24.5+1-6ubuntu1.1+esm4 |
| Ubuntu:Pro:16.04:LTS | org-mode | 0 | No fix |
| Ubuntu:Pro:16.04:LTS | xemacs21 | 0 | No fix |
| Ubuntu:Pro:16.04:LTS | xemacs21-packages | 0 | No fix |
| Ubuntu:Pro:18.04:LTS | emacs25 | 0 | No fix |
| Ubuntu:Pro:18.04:LTS | emacs25 | 0 | 25.2+1-6ubuntu0.1~esm2 |
| Ubuntu:Pro:18.04:LTS | org-mode | 0 | No fix |
| Ubuntu:Pro:18.04:LTS | org-mode | 0 | 9.1.6+dfsg-1ubuntu0.1~esm1 |
| Ubuntu:Pro:18.04:LTS | xemacs21 | 0 | No fix |
| Ubuntu:Pro:18.04:LTS | xemacs21-packages | 0 | No fix |
| Ubuntu:Pro:20.04:LTS | emacs | 0 | 1:26.3+1-1ubuntu2+esm1 |
| Ubuntu:Pro:20.04:LTS | org-mode | 0 | 9.3.1+dfsg-1ubuntu0.1~esm1 |
| Ubuntu:Pro:20.04:LTS | xemacs21 | 0 | No fix |
| Ubuntu:Pro:20.04:LTS | xemacs21-packages | 0 | No fix |
| Ubuntu:Pro:22.04:LTS | org-mode | 0 | 9.5.2+dfsh-4ubuntu0.1~esm1 |
| Ubuntu:Pro:24.04:LTS | emacs | 0 | 1:29.3+1-1ubuntu2+esm1 |
| Ubuntu:Pro:24.04:LTS | org-mode | 0 | 9.6.10+dfsg-1ubuntu0.1~esm1 |
| openSUSE:Leap 15.5 | emacs | 0 | 27.2-150400.3.11.1 |
Related vulnerabilities
- CVE-2024-53920 In elisp-mode.el in GNU Emacs through 30.0.92, a user who chooses to invoke… Also affects emacs
- CVE-2024-39331 In Emacs before 29.4, org-link-expand-abbrev in lisp/ol.el expands a %(...) link abbrev… Also affects emacs
- CVE-2024-30203 In Emacs before 29.3, Gnus treats inline MIME contents as trusted. Also affects emacs
- CVE-2024-30204 In Emacs before 29.3, LaTeX preview is enabled by default for e-mail attachments. Also affects emacs
- CVE-2024-30202 In Emacs before 29.3, arbitrary Lisp code is evaluated as part of turning on Org mode. Also affects emacs