Moab Authentication Bypass
-
John Fitzpatrick
- Published: 6 Oct 2014
CVE-2014-5300
Share
Type
Severity
Affected products
Affected Versions
Vendor
Vendor Response
Authors
CVE Reference
2014-07-08 | Vulnerability identified and detailed information passed to Adaptive |
2014-07-09 | Adaptive inform MWR that code changes are being made to address the issue |
2014-07-11 | Adaptive inform MWR that regression testing has identified an additional issue |
2014-07-14 | Moab 8 released |
2014-08-20 | Limited status update provided by Adaptive suggesting a 7.2 fix will emerge |
2014-09-08 | Release of advisory to HPC community |
2014-09-16 | Moab 7.2.9 released |
2014-09-25 | Public release of advisory |
It is possible to bypass authentication within Moab in order to impersonate and run commands/operations as arbitrary users. The issue is believed to affect all versions of Moab prior to versions 7.2.9 and Moab 8.
Successful exploitation could lead to remote code execution.
The Moab server does not appropriately authenticate requests.
Upgrade to Moab 7.2.9, Moab 8, or a later version of the software. Beta versions of Moab 8 are affected by this issue. This issue also affects versions of Moab which are using Munge for authentication.
This issue is believed to affect all instances of Moab prior to version 7.2.9 and 8. MWR are not aware of any alternate workaround for this issue.
Moab is a workload manager used in High Performance Computing (HPC) environments. In a typical environment a user submits their jobs to the Moab server for it to handle the workload. This communication makes use of an XML based protocol, and example job submission is shown below:
Contained within this message is a
However, whilst an incorrect SignatureValue results in a rejected message, it was found that if no signature is supplied then the signature checks are skipped and the remainder of the message processed. As a result it is possible to craft arbitrary messages and these messages will be accepted and honoured by the server as long as the message does not include a
The following message contains no signature element and therefore will be accepted by the server:
With no signing taking place an adversary can specify arbitrary users for these operations to be performed under, and thus impersonate other users including executing jobs as other users.
In addition to job submission Moab also provides the ability to dynamically reconfigure the Moab server remotely. Whilst a default Moab installation will not permit the submission of root jobs it is possible to exploit this vulnerability in order to dynamically reconfigure Moab to allow root job submissions. The following request achieves this and due to its simple nature makes a useful proof of concept (the timestamp value may require altering):
00000238
Sending the entire message above (including the size value) will enable root jobs on a vulnerable server.