CVE-2023-41915

8.1 HIGH

📋 TL;DR

This vulnerability is a race condition in OpenPMIx that allows attackers to gain ownership of arbitrary files when the library code runs with root privileges (UID 0). It affects systems using vulnerable versions of OpenPMIx, particularly in HPC and cluster computing environments where PMIx is used for process management.

💻 Affected Systems

Products:
  • OpenPMIx
Versions: All versions before 4.2.6 and 5.0.x before 5.0.1
Operating Systems: Linux, Unix-like systems
Default Config Vulnerable: ⚠️ Yes
Notes: Only vulnerable when PMIx library code executes with UID 0 (root privileges). Common in HPC environments where PMIx manages parallel processes.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Attackers could take ownership of critical system files (like /etc/passwd, /etc/shadow) and gain full root control of the system, potentially leading to complete system compromise.

🟠

Likely Case

Local attackers could escalate privileges to root by manipulating file ownership during the race condition window, allowing them to execute arbitrary code with elevated privileges.

🟢

If Mitigated

If proper access controls and privilege separation are implemented, the impact is limited to the specific user context where PMIx runs, preventing full system compromise.

🌐 Internet-Facing: LOW - This is primarily a local privilege escalation vulnerability requiring local access to exploit.
🏢 Internal Only: HIGH - In multi-user systems or shared computing environments, any local user could potentially exploit this to gain root privileges.

🎯 Exploit Status

Public PoC: ✅ No
Weaponized: UNKNOWN
Unauthenticated Exploit: ✅ No
Complexity: MEDIUM

Exploitation requires local access and precise timing to win the race condition. The vulnerability is in the CWE-362 category (Concurrent Execution using Shared Resource with Improper Synchronization).

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: OpenPMIx 4.2.6 and 5.0.1

Vendor Advisory: https://docs.openpmix.org/en/latest/security.html

Restart Required: Yes

Instructions:

1. Identify OpenPMIx version currently installed. 2. Download and install OpenPMIx 4.2.6 or 5.0.1 from official sources. 3. Recompile any applications linked against PMIx. 4. Restart services using PMIx.

🔧 Temporary Workarounds

Run PMIx without root privileges

linux

Configure systems to run PMIx library code without UID 0 where possible

# Review and modify service configurations to avoid running PMIx as root
# Use privilege separation mechanisms

Restrict file system access

linux

Implement strict file permissions and access controls to limit potential damage

# chmod 600 sensitive files
# Implement mandatory access controls (SELinux/AppArmor)

🧯 If You Can't Patch

  • Implement strict access controls and audit all users with local access
  • Monitor for suspicious file ownership changes and privilege escalation attempts

🔍 How to Verify

Check if Vulnerable:

Check OpenPMIx version: pmix_info --version or examine installed packages

Check Version:

pmix_info --version 2>/dev/null || rpm -q openpmix || dpkg -l | grep pmix

Verify Fix Applied:

Verify version is 4.2.6 or higher for 4.x branch, or 5.0.1 or higher for 5.x branch

📡 Detection & Monitoring

Log Indicators:

  • Unexpected file ownership changes
  • Processes running with unexpected UID 0
  • Failed privilege escalation attempts

Network Indicators:

  • Not applicable - local vulnerability

SIEM Query:

source="*auth.log*" AND ("setuid" OR "permission denied" OR "ownership changed")

🔗 References

📤 Share & Export