CVE-2021-40371

9.8 CRITICAL

📋 TL;DR

This vulnerability allows attackers to perform directory traversal attacks in Gridpro Request Management for Windows Azure Pack, potentially leading to remote code execution. By manipulating the scriptName JSON parameter with sequences like ..\, attackers can access files outside the intended directory. This affects all users running vulnerable versions of this software.

💻 Affected Systems

Products:
  • Gridpro Request Management for Windows Azure Pack
Versions: All versions before 2.0.7912
Operating Systems: Windows
Default Config Vulnerable: ⚠️ Yes
Notes: Affects the ServiceManagerTenant/GetVisibilityMap endpoint specifically.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Full system compromise with administrative privileges, data exfiltration, and persistent backdoor installation.

🟠

Likely Case

Unauthorized file access, sensitive information disclosure, and potential code execution on the affected server.

🟢

If Mitigated

Limited impact with proper input validation and file system restrictions in place.

🌐 Internet-Facing: HIGH - The vulnerability can be exploited remotely without authentication.
🏢 Internal Only: HIGH - Even internal systems are vulnerable to authenticated or network-accessible attackers.

🎯 Exploit Status

Public PoC: ⚠️ Yes
Weaponized: LIKELY
Unauthenticated Exploit: ⚠️ Yes
Complexity: LOW

Proof-of-concept exploit code is publicly available and demonstrates simple directory traversal.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: 2.0.7912

Vendor Advisory: https://www.gridprosoftware.com/products/requestmanagement/

Restart Required: Yes

Instructions:

1. Download version 2.0.7912 or later from Gridpro Software. 2. Backup current installation. 3. Install the updated version. 4. Restart the application/service.

🔧 Temporary Workarounds

Input Validation Filter

all

Implement input validation to reject path traversal sequences in scriptName parameter

Implement regex filter: if (input.Contains("..\\") || input.Contains("../")) { reject request; }

Web Application Firewall Rule

all

Block requests containing directory traversal patterns

WAF rule: deny requests with payload containing "..\\" or "../" in JSON parameters

🧯 If You Can't Patch

  • Isolate the vulnerable system from internet access and restrict internal network access
  • Implement strict network segmentation and monitor for suspicious file access patterns

🔍 How to Verify

Check if Vulnerable:

Check if version is below 2.0.7912 and test the ServiceManagerTenant/GetVisibilityMap endpoint with traversal payloads

Check Version:

Check application version in control panel or via application interface

Verify Fix Applied:

Verify installation of version 2.0.7912 or later and test that traversal payloads are rejected

📡 Detection & Monitoring

Log Indicators:

  • HTTP requests to ServiceManagerTenant/GetVisibilityMap with ..\ sequences in parameters
  • Unusual file access patterns from web application process

Network Indicators:

  • HTTP POST requests containing directory traversal patterns in JSON payloads

SIEM Query:

source="web_logs" AND uri="*ServiceManagerTenant/GetVisibilityMap*" AND (payload="*..\\*" OR payload="*../*")

🔗 References

📤 Share & Export