CVE Vulnerabilities

CVE-2016-10030

Improper Access Control

Published: Jan 05, 2017 | Modified: Jan 11, 2017
CVSS 3.x
8.1
HIGH
Source:
NVD
CVSS:3.0/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H
CVSS 2.x
7.6 HIGH
AV:N/AC:H/Au:N/C:C/I:C/A:C
RedHat/V2
RedHat/V3
Ubuntu
MEDIUM

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.

Weakness

The product does not restrict or incorrectly restricts access to a resource from an unauthorized actor.

Affected Software

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 *

Extended Description

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:

Potential Mitigations

  • Compartmentalize the system to have “safe” areas where trust boundaries can be unambiguously drawn. Do not allow sensitive data to go outside of the trust boundary and always be careful when interfacing with a compartment outside of the safe area.
  • Ensure that appropriate compartmentalization is built into the system design, and the compartmentalization allows for and reinforces privilege separation functionality. Architects and designers should rely on the principle of least privilege to decide the appropriate time to use privileges and the time to drop privileges.

References