SEC Consult Vulnerability Lab Security Advisory < 20210414-0 >  
title: Reflected cross-site scripting  
product: Microsoft Azure DevOps Server  
vulnerable version: 2020.0.1  
fixed version: 2020.0.1 Patch 2  
CVE number: CVE-2021-28459  
impact: medium  
found: 2021-03-03  
by: M. Li (Office Munich)  
SEC Consult Vulnerability Lab  
An integrated part of SEC Consult, an Atos company  
Europe | Asia | North America  
Vendor description:  
"What is Azure DevOps Server?  
Collaborative software development tools for the entire team  
Previously known as Team Foundation Server (TFS), Azure DevOps Server is a set  
of collaborative software development tools, hosted on-premises.  
Azure DevOps Server integrates with your existing IDE or editor, enabling   
cross-functional team to work effectively on projects of all sizes."  
Business recommendation:  
SEC Consult recommends upgrading to the latest available version which patches  
the security issues.  
An in-depth security analysis performed by security professionals is advised,  
as the software may be affected from further security issues.  
Vulnerability overview/description:  
1) Reflected cross-site scripting  
The process template function with the collection settings allows uploading of  
a zip file, from which the name of the template is taken and returned to the  
browser. This variable is not sanitized, leading to a reflected cross-site  
scripting vulnerability.  
Proof of concept:  
1) Reflected cross-site scripting  
An authenticated user with privileges to upload project files can access the  
Collection Settings of one project. Under the Process function, it is possible  
to upload a process template in form of a zip file, which can be obtained   
downloading an existing template. According to the template structure, the  
ProcessTemplate.xml file should contain a name, in which the XSS payload is  
injected as below:  
<name>XSS here: <img src=x onerror=alert(document.URL)></name>  
<description>This template is flexible and will work great</description>  
<version type="aa12a345-00a0-1f11-ba00-b12345b12345" major="1" minor="0" />  
Soon after the upload, a message is returned to the user, stating the process  
template has been renamed to the malicious one with the XSS payload. At this  
point, the injected JavaScript will get executed, showing a pop-up window   
the URL in this case.  
In reality, an attacker might send a malicious zip file to administrators   
trick them into uploading it, thus achieving to compromise their account.  
Vulnerable / tested versions:  
The following version has been tested, which was the most recent one at the  
time of the test:  
- 2020.0.1  
Vendor contact timeline:  
2021-03-08: Contacting vendor through MSRC portal, case number 64141 is auto-assigned.  
2021-03-09: Vendor informed that the investigation be started.  
2021-04-01: Vendor informed that a fix has been completed and will be released as part  
of April Patch Tuesday. CVE-2021-28459 has been assigned to the issue.  
2021-04-13: Vendor released the patch.  
2021-04-14: Public release of the security advisory.  
The patch is available at:  
Advisory URL:  
SEC Consult Vulnerability Lab  
SEC Consult, an Atos company  
Europe | Asia | North America  
About SEC Consult Vulnerability Lab  
The SEC Consult Vulnerability Lab is an integrated part of SEC Consult, an  
Atos ​company. It ensures the continued knowledge gain of SEC Consult in the  
field of network and application security to stay ahead of the attacker. The  
SEC Consult Vulnerability Lab supports high-quality penetration testing and  
the evaluation of new offensive and defensive technologies for our customers.  
Hence our customers obtain the most current information about vulnerabilities  
and valid recommendation about the risk profile of new technologies.  
Interested to work with the experts of SEC Consult?  
Send us your application  
Interested in improving your cyber security with the experts of SEC Consult?  
Contact our local offices  
Mail: research at sec-consult dot com  
EOF M. Li / @2021