CVE-2016-10030
High · 8.1CVSS
8.1
EPSS
2.5%
Published
Jan 5, 2017
CISA due date
—
Cloudanix analysis
A flaw in cluster job management software could let users take over important files on the system if certain startup scripts fail.
- Exploitation
- Remote Authenticated
- Attacker needs
- Low Privilege
- Complexity
- High
- Impact
- Full Compromise
- Component
- Application
- Class
- Authorization Bypass
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Low
What it actually does
The _prolog_error function in slurmd/req.c allows a local user to specify and control an arbitrary file on the system when a Prolog script returns a non-zero exit code, enabling file overwrite or control under specific conditions.
Why it matters to the business
Organizations running HPC or cluster workloads with custom Prolog scripts face risk of unauthorized file modification on compute nodes, potentially leading to job disruption, data tampering, or node compromise if scripts are not hardened.
How an attack unfolds
An attacker submits a job that triggers or anticipates a Prolog script failure on a compute node; the slurmd daemon then mishandles the error reporting path, allowing the attacker to direct the daemon to write or control a chosen file instead of the intended error handling.
How to fix it
Upgrade Slurm to a fixed version such as the commit 92362a92fffe60187df61f99ab11c249d44120ee or later releases (15.08.13+, 16.05.7+, 17.02.0-pre4+); alternatively disable Prolog scripts or modify them to always return success and use scontrol to mark nodes down.
How to confirm the fix worked
Confirm Slurm version is at or above the listed fixed commits or releases; test by submitting jobs that would previously trigger Prolog failures and verify no arbitrary file control occurs; review Prolog configuration for the recommended workarounds.
Typical attack path
- Identify or craft a job submission that causes a Prolog script to exit non-zero
- Submit the job to a Slurm cluster with an active Prolog configuration
- Trigger the error path in slurmd/req.c
- Specify target file path via the vulnerable error reporting mechanism
- Achieve control or overwrite of the arbitrary file
How to detect it
Review slurmd logs for unusual Prolog error handling or file access attempts; inspect job submission logs for patterns of deliberate Prolog failures; check system file timestamps and ownership changes on critical configuration or data files following job runs.
What your security team should do
- Prioritize upgrade of all Slurm installations to patched versions within maintenance windows
- Audit and harden or disable Prolog scripts as a compensating control
- Monitor for jobs causing repeated Prolog failures as a potential indicator
The record
The _prolog_error function in slurmd/req.c in Slurm before 15.08.13, 16.x before 16.05.7, and 17.x before 17.02.0-pre4 has a vulnerability in how the slurmd daemon informs users of a Prolog failure on a compute node. That vulnerability could allow a user to assume control of an arbitrary file on the system. Any exploitation of this is dependent on the user being able to cause or anticipate the failure (non-zero return code) of a Prolog script that their job would run on. This issue affects all Slurm versions from 0.6.0 (September 2005) to present. Workarounds to prevent exploitation of this are to either disable your Prolog script, or modify it such that it always returns 0 ("success") and adjust it to set the node as down using scontrol instead of relying on the slurmd to handle that automatically. If you do not have a Prolog set you are unaffected by this issue.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| Debian:7 | slurm-llnl | 0 | 2.3.4-2+deb7u1 |
| SUSE:Linux Enterprise Module for HPC 12 | pdsh | 0 | 2.33-7.18.1 |
| SUSE:Linux Enterprise Module for HPC 12 | pdsh | 0 | 2.34-7.32.1 |
| SUSE:Linux Enterprise Module for HPC 12 | pdsh_slurm_18_08 | 0 | 2.34-7.26.2 |
| SUSE:Linux Enterprise Module for HPC 12 | pdsh_slurm_18_08 | 0 | 2.34-7.32.1 |
| SUSE:Linux Enterprise Module for HPC 12 | pdsh_slurm_20_02 | 0 | 2.34-7.26.2 |
| SUSE:Linux Enterprise Module for HPC 12 | pdsh_slurm_20_02 | 0 | 2.34-7.32.1 |
| SUSE:Linux Enterprise Module for HPC 12 | pdsh_slurm_20_11 | 0 | 2.34-7.32.1 |
| SUSE:Linux Enterprise Module for HPC 12 | slurm_18_08 | 0 | 18.08.9-3.5.1 |
| SUSE:Linux Enterprise Module for HPC 12 | slurm_20_02 | 0 | 20.02.3-3.5.1 |
| SUSE:Linux Enterprise Module for HPC 12 | slurm_20_11 | 0 | 20.11.4-3.5.1 |
| SUSE:Linux Enterprise Module for HPC 15 | pdsh | 0 | 2.33-7.6.1 |
| SUSE:Linux Enterprise Module for HPC 15 | slurm_18_08 | 0 | 18.08.9-1.5.2 |
| SUSE:Linux Enterprise Module for HPC 15 SP1 | pdsh | 0 | 2.33-7.6.1 |
| Ubuntu:20.04:LTS | slurm-llnl | 0 | 19.05.3.2-2 |
| Ubuntu:Pro:14.04:LTS | slurm-llnl | 0 | 2.6.5-1ubuntu0.1~esm6 |
| Ubuntu:Pro:14.04:LTS | slurm-llnl | 0 | 2.6.5-1ubuntu0.1~esm5 |
| Ubuntu:Pro:16.04:LTS | slurm-llnl | 0 | 15.08.7-1ubuntu0.1~esm3 |
| Ubuntu:Pro:16.04:LTS | slurm-llnl | 0 | 15.08.7-1ubuntu0.1~esm4 |
| Ubuntu:Pro:16.04:LTS | slurm-llnl | 0 | 15.08.7-1ubuntu0.1~esm5 |
| Ubuntu:Pro:18.04:LTS | slurm-llnl | 0 | 17.11.2-1ubuntu0.1~esm4 |
| Ubuntu:Pro:20.04:LTS | slurm-llnl | 0 | 19.05.5-1ubuntu0.1~esm1 |
| openSUSE:Tumbleweed | slurm | 0 | 21.08.1-1.1 |
Related vulnerabilities
- CVE-2024-48936 SchedMD Slurm before 24.05.4 has Incorrect Authorization. Also affects pdsh
- CVE-2022-29502 SchedMD Slurm 21.08.x through 20.11.x has Incorrect Access Control that leads to… Also affects pdsh
- CVE-2025-43904 In SchedMD Slurm before 24.11.5, 24.05.8, and 23.11.11, the accounting system can allow a… Also affects slurm_20_11
- CVE-2023-49934 An issue was discovered in SchedMD Slurm 23.11.x. Also affects slurm-llnl
- CVE-2026-114574 A security vulnerability has been detected in massCodeIO massCode 5.10. CWE-284
- CVE-2026-83395 Vulnerability in the Oracle Java SE, Oracle GraalVM for JDK, Oracle GraalVM Enterprise… CWE-284
- CVE-2026-112091 A flaw has been found in Dav-ee dairy-management-system… CWE-284
- CVE-2026-106580 ImageMagick is free and open-source software used for editing and manipulating digital… CWE-284