CVE-2024-34490

5.1 MEDIUM

📋 TL;DR

This CVE describes an insecure temporary file usage vulnerability in Maxima's plotting facilities. A local attacker can create predictable filenames in /tmp in advance to control file contents, potentially leading to arbitrary code execution or data manipulation. This affects users running Maxima with plotting functionality on multi-user systems.

💻 Affected Systems

Products:
  • Maxima
Versions: All versions through 5.47.0 before commit 51704c
Operating Systems: Linux, Unix-like systems with /tmp directory
Default Config Vulnerable: ⚠️ Yes
Notes: Only affects systems where Maxima's plotting functions (like plot2d) are used and /tmp directory is shared between users.

⚠️ Manual Verification Required

This CVE does not have specific version information in our database, so automatic vulnerability detection cannot determine if your system is affected.

Why? The CVE database entry doesn't specify which versions are vulnerable (no version ranges provided by the vendor/NVD).

🔒 Custom verification scripts are available for registered users. Sign up free to download automated test scripts.

Recommended Actions:
  1. Review the CVE details at NVD
  2. Check vendor security advisories for your specific version
  3. Test if the vulnerability is exploitable in your environment
  4. Consider updating to the latest version as a precaution

⚠️ Risk & Real-World Impact

🔴

Worst Case

Local privilege escalation leading to full system compromise if Maxima runs with elevated privileges and attacker-controlled files are executed.

🟠

Likely Case

Data corruption, denial of service, or limited information disclosure through file manipulation in /tmp directory.

🟢

If Mitigated

Minimal impact if proper file permissions restrict /tmp access or Maxima runs in isolated environments.

🌐 Internet-Facing: LOW - This requires local filesystem access, not network exposure.
🏢 Internal Only: MEDIUM - Risk exists on multi-user systems where untrusted users share access to /tmp directory.

🎯 Exploit Status

Public PoC: ✅ No
Weaponized: UNKNOWN
Unauthenticated Exploit: ✅ No
Complexity: LOW - Requires local access and ability to create files in /tmp.

Exploitation requires local access to the system and knowledge of predictable filename patterns used by Maxima.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: Commit 51704c or later

Vendor Advisory: https://sourceforge.net/p/maxima/bugs/3755/

Restart Required: No

Instructions:

1. Update Maxima to version with commit 51704c or later. 2. For source installations: git pull from Maxima repository and rebuild. 3. For package managers: Use updated package when available.

🔧 Temporary Workarounds

Secure /tmp directory permissions

linux

Restrict /tmp directory permissions to prevent other users from creating or modifying files

chmod 1777 /tmp
chmod 700 /tmp/maxima_* (if specific patterns known)

Use private temporary directory

linux

Configure Maxima to use a private, user-specific temporary directory

export TMPDIR=$HOME/.maxima_tmp
mkdir -p $HOME/.maxima_tmp

🧯 If You Can't Patch

  • Disable Maxima plotting functionality if not required
  • Run Maxima in isolated containers or VMs with restricted /tmp access

🔍 How to Verify

Check if Vulnerable:

Check Maxima version: maxima --version. If version is 5.47.0 or earlier and commit hash is before 51704c, system is vulnerable.

Check Version:

maxima --version 2>/dev/null | head -1

Verify Fix Applied:

Verify Maxima version is after commit 51704c or test plotting functions while monitoring /tmp for predictable filenames.

📡 Detection & Monitoring

Log Indicators:

  • Failed file operations in /tmp with Maxima process
  • Unexpected file creations in /tmp by Maxima

Network Indicators:

  • None - this is a local filesystem vulnerability

SIEM Query:

process_name:"maxima" AND file_path:"/tmp/*" AND (file_create OR file_modify)

🔗 References

📤 Share & Export