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.
The product does not restrict or incorrectly restricts access to a resource from an unauthorized actor.
Name | Vendor | Start Version | End Version |
---|---|---|---|
Slurm | Schedmd | * | 15.08.12 (including) |
Slurm | Schedmd | 16.05.0 (including) | 16.05.0 (including) |
Slurm | Schedmd | 16.05.0-pre1 (including) | 16.05.0-pre1 (including) |
Slurm | Schedmd | 16.05.0-pre2 (including) | 16.05.0-pre2 (including) |
Slurm | Schedmd | 16.05.0-rc1 (including) | 16.05.0-rc1 (including) |
Slurm | Schedmd | 16.05.0-rc2 (including) | 16.05.0-rc2 (including) |
Slurm | Schedmd | 16.05.1 (including) | 16.05.1 (including) |
Slurm | Schedmd | 16.05.2 (including) | 16.05.2 (including) |
Slurm | Schedmd | 16.05.3 (including) | 16.05.3 (including) |
Slurm | Schedmd | 16.05.4 (including) | 16.05.4 (including) |
Slurm | Schedmd | 16.05.5 (including) | 16.05.5 (including) |
Slurm | Schedmd | 16.05.6 (including) | 16.05.6 (including) |
Slurm | Schedmd | 17.02.0-pre1 (including) | 17.02.0-pre1 (including) |
Slurm | Schedmd | 17.02.0-pre2 (including) | 17.02.0-pre2 (including) |
Slurm | Schedmd | 17.02.0-pre3 (including) | 17.02.0-pre3 (including) |
Slurm-llnl | Ubuntu | artful | * |
Slurm-llnl | Ubuntu | esm-apps/xenial | * |
Slurm-llnl | Ubuntu | precise | * |
Slurm-llnl | Ubuntu | trusty | * |
Slurm-llnl | Ubuntu | trusty/esm | * |
Slurm-llnl | Ubuntu | xenial | * |
Slurm-llnl | Ubuntu | yakkety | * |
Slurm-llnl | Ubuntu | zesty | * |
Access control involves the use of several protection mechanisms such as:
When any mechanism is not applied or otherwise fails, attackers can compromise the security of the product by gaining privileges, reading sensitive information, executing commands, evading detection, etc. There are two distinct behaviors that can introduce access control weaknesses: