[midPoint] Security Advisory: Plain text password in temporary files
Radovan Semancik
radovan.semancik at evolveum.com
Mon May 13 11:31:29 CEST 2019
Date: 13 May 2019
Severity: Low (CVSS 0.1-3.9)
Affected versions: all released midPoint versions
Fixed in versions: 4.0 (unreleased), 3.9.1 (unreleased), 3.8.1
(unreleased), 3.7.2 (unreleased), 3.6.2 (unreleased)
Description
Plaintext password is sometimes left stored in temporary files on a file
system.
Severity and Impact
Plaintext password used in HTML forms is stored to temporary files by
Tomcat instance embedded in midPoint. Those files are usually handled
properly and deleted immediately. However, on some platforms (notably
Microsoft Windows) those files are not deleted. Therefore the plaintext
password may remain stored in the files.
Privileged access to the host running midPoint instance is required to
exploit this vulnerability. However, such privileged access usually
means that cleartext password can be obtained by a number of other
methods. Hence the low severity of this issue.
Mitigation
MidPoint users are advised to upgrade their deployments to the latest
builds from the support branches, especially users running midPoint in
Windows environment. This issues was not reproduced in Linux environment.
As this is a low severity issue, it is not forcing official maintenance
releases of midPoint. However, the fix is provided in all the support
branches.
Discussion and Explanation
MidPoint, similar to many web applications, is using HTML forms to
interact with the user. This includes operations that deal with user
password, such as logging into midPoint, changing user's password and so
on. MidPoint contains an embedded instance Apache Tomcat, which acts as
a web server (container) for midPoint. Apache Tomcat is storing HTML
form data in temporary files. Tomcat is supposed to delete those files,
which works well on most platforms. But there is an issue with deleting
files in Windows environment, which is a very likely cause for this
issue. Another set of temporary files are maintained by Apache Wicket
framework. It is not clear whether those files suffer from the same
deletion problem as Tomcat files, however, cleartext password in
affected midPoint versions might be stored also in those files.
MidPoint code was fixed to set up embedded Tomcat in such a way, that
only a very large HTML forms will be stored on disk. MidPoint code was
also changed to avoid storing password in Wicket temporary files. Those
fixes are supposed to resolve the root cause of this issue, because
passwords should not get stored in any temporary file as well.
Credit
This issue was reported by PrinceNullByte by the means of EU-Free and
Open Source Software Auditing (EU-FOSSA2) project.
See Also
https://wiki.evolveum.com/display/midPoint/Security+Advisory%3A+Plain+text+password+in+temporary+files
--
Radovan Semancik
Software Architect
evolveum.com
More information about the midPoint
mailing list