CVE-2024-34490
Medium · 5.1CVSS
5.1
EPSS
0.2%
Published
May 5, 2024
CISA due date
—
Cloudanix analysis
A local user with admin rights could replace certain temporary files that Maxima uses when drawing graphs, allowing them to alter or corrupt the resulting pictures.
- Exploitation
- Local Privilege
- Attacker needs
- High Privilege
- Complexity
- Low
- Impact
- Data Tampering
- Component
- Application
- Class
- Race Condition
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Low
What it actually does
The vulnerability stems from Maxima's plotting facilities (including plot2d) using predictable filenames under /tmp without secure creation primitives, enabling a local attacker to pre-populate those paths and thereby control file contents read or written during plotting operations.
Why it matters to the business
Organizations relying on Maxima for data visualization face risk of manipulated or corrupted plot outputs that could undermine analysis integrity; impact is limited to local high-privileged attackers and remains low-probability given stable low EPSS and absence from KEV.
How an attack unfolds
A local attacker anticipates the deterministic temporary file names generated by Maxima's plotting code, creates files with matching names in /tmp ahead of time, and waits for a user or process to invoke a plotting command such as plot2d; the application then operates on the attacker-controlled files instead of safely generated ones.
How to fix it
Upgrade Maxima to the version containing commit 51704c or later that replaces predictable /tmp names with secure temporary file APIs; restrict plotting to trusted contexts and consider running Maxima inside a sandbox that limits /tmp access until patched.
How to confirm the fix worked
Confirm the installed Maxima version incorporates commit 51704c; inspect plotting source for use of mktemp or equivalent secure functions instead of hardcoded or predictable /tmp paths; test by attempting to pre-create the former predictable names and verifying they are no longer used.
Typical attack path
- Gain local access with sufficient privileges to write to /tmp
- Observe or deduce the predictable temporary filenames used by Maxima plotting routines
- Pre-create files with identical names containing attacker-chosen content
- Trigger plotting functionality (e.g., plot2d) from a Maxima session
- Observe or leverage the resulting controlled plot output or side effects
How to detect it
Review /tmp directory listings and process logs around Maxima execution times for files whose names match historical predictable patterns used by the plotting modules; correlate with user activity that invokes plot2d or similar commands.
What your security team should do
- Prioritize upgrade to the fixed Maxima release containing commit 51704c
- Apply filesystem monitoring on /tmp for unexpected file creation by non-root users during plotting windows
- Limit use of Maxima plotting to dedicated, low-privilege analysis accounts where feasible
The record
In Maxima through 5.47.0 before 51704c, the plotting facilities make use of predictable names under /tmp. Thus, the contents may be controlled by a local attacker who can create files in advance with these names. This affects, for example, plot2d.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| Debian:11 | maxima | 0 | No fix |
| Debian:12 | maxima | 0 | No fix |
| Debian:13 | maxima | 0 | 5.47.0-1 |
| Ubuntu:16.04:LTS | maxima | 0 | No fix |
| Ubuntu:18.04:LTS | maxima | 0 | No fix |
| Ubuntu:20.04:LTS | maxima | 0 | No fix |
| Ubuntu:22.04:LTS | maxima | 0 | No fix |
| Ubuntu:24.04:LTS | maxima | 0 | No fix |
| Ubuntu:24.10 | maxima | 0 | No fix |
| Ubuntu:25.04 | maxima | 0 | No fix |
| Ubuntu:25.10 | maxima | 0 | No fix |
| Ubuntu:Pro:16.04:LTS | maxima | 0 | No fix |
| Ubuntu:Pro:18.04:LTS | maxima | 0 | No fix |
| Ubuntu:Pro:20.04:LTS | maxima | 0 | No fix |
Related vulnerabilities
- CVE-2026-55480 OpenPrinting CUPS is an open source printing system for Linux and other Unix-like… CWE-377
- CVE-2026-106451 yawkat LZ4 Java provides LZ4 compression for Java. CWE-377
- CVE-2026-47852 A local attacker on a multi-user host can pre-create the deterministic cache path and… CWE-377
- CVE-2026-63404 Faktory is a language-agnostic background job server. CWE-377
- CVE-2026-55086 Etherpad is a real-time collaborative editor. CWE-377
- CVE-2026-75920 phpMyFAQ before v4.1.6 writes content backup ZIP archives to the web-accessible document… CWE-377
- CVE-2026-53759 linuxfabrik-lib provides Python modules for database access, caching, shell execution… CWE-377
- CVE-2026-73584 A flaw was found in sblim-sfcb. CWE-377