###[IBM GPFS / Spectrum Scale Command Injection]###
A command injection vulnerability in GPFS / Spectrum Scale allows attackers to escalate privileges to root
* Product: IBM GPFS / Spectrum Scale
* Severity: High
* CVE Reference: CVE-2016-0392
* Type: Command injection
* Author: John Fitzpatrick (@j0hn__f)
* Date: 2016-06-07
## Description
IBM’s General Parallel File System (GPFS), now known as Spectrum Scale, is affected by a vulnerability that allows an adversary on any system which mounts GPFS to inject commands which are later executed as root.
## Impact
Exploitation of this vulnerability allows any user of a system with a GPFS filesystem mounted to execute commands as root across the GPFS cluster.
## Cause
This is caused by a failure to safely handle arguments supplied to a number of setuid binaries.
## Affected Versions
IBM Spectrum Scale V4.2.0.0 thru V4.2.0.2
IBM Spectrum Scale V4.1.1.0 thru V4.1.1.6
IBM GPFS V4.1.0.0 thru V4.1.0.8
IBM GPFS V3.5.0.0 thru V3.5.0.30
All older IBM GPFS versions no longer supported
## Interim Workaround
IBM have provided patches in order to resolve this issue. It is recommended that these patches (described in the ‘Solution’ section below) are applied. However, if this is not possible some workarounds may also be applied:
Remove the setuid from the files in the /usr/lpp/mmfs/bin directory. These can be identified by running
ls -l /usr/lpp/mmfs/bin | grep r-s
Reset the setuid bit for each such file by issuing this command on each file
chmod u-s file
Once the workaround is applied, a number of commands may no longer work when not invoked by unprivileged users, including:
mmchfileset
mmcrsnapshot
mmdelsnapshot
mmdf
mmedquota
mmgetacl
mmlsdisk
mmlsfileset
mmlsfs
mmlsmgr
mmlspolicy
mmlspool
mmlsquota
mmlssnapshot
mmputacl
mmsnapdir
(These workarounds are taken from the IBM supplied advisory which can be found at: http://www-01.ibm.com/support/docview.wss?uid=isg3T1023763)
If the workarounds would not affect the usability of GPFS within your environment, then MWR recommend applying these workarounds in addition to the IBM supplied patches detailed below.
## Solution
IBM have provided fixes for this issue; however, MWR have not tested the effectiveness of these patches:
For IBM Spectrum Scale V4.2.0.0 thru V4.2.0.2, apply IBM Spectrum Scale V4.2.0.3 available from Fix Central at:
http://www-933.ibm.com/support/fixcentral/swg/selectFixes?parent=Software%2Bdefined%2Bstorage&product=ibm/StorageSoftware/IBM+Spectrum+Scale&release=4.2.0&platform=All&function=all
For IBM Spectrum Scale V4.1.1.0 thru 4.1.1.6 and IBM GPFS V4.1.0.0 thru V4.1.0.8, apply V4.1.1.7 at:
http://www-933.ibm.com/support/fixcentral/swg/selectFixes?parent=Software%2Bdefined%2Bstorage&product=ibm/StorageSoftware/IBM+Spectrum+Scale&release=4.1.1&platform=All&function=all
For IBM GPFS V3.5.0.0 thru V3.5.0.30, apply V3.5.0.31 at:
http://www-933.ibm.com/support/fixcentral/swg/selectFixes?parent=Cluster%2Bsoftware&product=ibm/power/IBM+General+Parallel+File+System&release=3.5.0&platform=All&function=all
For older versions of IBM GPFS, if you have an extended service contract, please contact IBM Service.
(These solutions are taken from the IBM supplied advisory which can be found at: http://www-01.ibm.com/support/docview.wss?uid=isg3T1023763)
## Further Information
The IBM advisory relating to this issue can be found at the following location: http://www-01.ibm.com/support/docview.wss?uid=isg3T1023763
This issue is closely related to a format string issue in GPFS (CVE-2015-0197) found by Florian Grunwo and Felix Wilhelm of ERNW: http://www-01.ibm.com/support/docview.wss?uid=isg3T1022062
Further technical information may be released at a later date when users have had a chance to resolve this issue.
## Detailed Timeline
2016-04-02: Issue reported to vendor
2016-05-31: Patch and vendor advisory released
2016-06-07: MWR advisory released
## Advisory Information
The full MWRLabs maintained advisory can be found here: https://labs.mwrinfosecurity.com/advisories/ibm-gpfs-spectrum-scale-command-injection/