CVE-2021-31922

7.5 HIGH

📋 TL;DR

CVE-2021-31922 is an HTTP request smuggling vulnerability in Pulse Secure Virtual Traffic Manager that allows attackers to bypass security controls by smuggling malicious HTTP requests through HTTP/2 headers. This affects organizations using vulnerable versions of Pulse Secure Virtual Traffic Manager as a reverse proxy or load balancer.

💻 Affected Systems

Products:
  • Pulse Secure Virtual Traffic Manager
Versions: Versions before 21.1, 20.3R1, 20.2R1, 20.1R2, 19.2R4, and 18.2R3
Operating Systems: All supported platforms
Default Config Vulnerable: ⚠️ Yes
Notes: Affects all configurations where HTTP/2 is enabled and the device is processing HTTP traffic.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Attackers could bypass authentication, access internal systems, steal sensitive data, or perform cache poisoning attacks against downstream servers.

🟠

Likely Case

Attackers could bypass security controls to access restricted resources or perform web cache poisoning to serve malicious content to users.

🟢

If Mitigated

With proper network segmentation and monitoring, impact would be limited to the affected proxy layer with minimal data exposure.

🌐 Internet-Facing: HIGH
🏢 Internal Only: MEDIUM

🎯 Exploit Status

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

HTTP request smuggling attacks are well-documented and tools exist for testing these vulnerabilities.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: 21.1, 20.3R1, 20.2R1, 20.1R2, 19.2R4, or 18.2R3

Vendor Advisory: https://kb.pulsesecure.net/articles/Pulse_Security_Advisories/SA44790

Restart Required: Yes

Instructions:

1. Download the appropriate patch version from Pulse Secure support portal. 2. Backup current configuration. 3. Apply the patch following vendor instructions. 4. Restart the Virtual Traffic Manager service. 5. Verify the update was successful.

🔧 Temporary Workarounds

Disable HTTP/2

all

Temporarily disable HTTP/2 protocol support to prevent exploitation via HTTP/2 headers.

Navigate to Traffic Manager UI > System > Configuration > Protocols > HTTP/2 and disable

Restrict HTTP/2 to trusted clients

all

Configure access controls to limit HTTP/2 connections to trusted IP addresses only.

Use Traffic Manager's connection filtering rules to restrict HTTP/2 traffic

🧯 If You Can't Patch

  • Implement strict input validation and sanitization for HTTP headers
  • Deploy WAF with HTTP request smuggling protection rules

🔍 How to Verify

Check if Vulnerable:

Check the Virtual Traffic Manager version via admin interface or CLI. If version is before the patched versions listed, the system is vulnerable.

Check Version:

ssh admin@vtrafficmanager "show version" or check via web admin interface

Verify Fix Applied:

Verify the version has been updated to one of the patched versions and test HTTP/2 request handling with security testing tools.

📡 Detection & Monitoring

Log Indicators:

  • Unusual HTTP/2 header patterns
  • Requests with malformed headers
  • Unexpected backend server responses

Network Indicators:

  • HTTP/2 traffic with unusual header sequences
  • Requests that bypass expected security controls

SIEM Query:

source="pulse-vtm" AND (http_version="2" AND (header_length>threshold OR header_pattern="smuggle"))

🔗 References

📤 Share & Export