CVE-2018-3739

9.1 CRITICAL

📋 TL;DR

CVE-2018-3739 is a vulnerability in https-proxy-agent where improper sanitization of the 'auth' parameter allows attackers to cause denial of service and leak uninitialized memory. This affects applications using vulnerable versions of https-proxy-agent to handle HTTP proxy authentication, particularly when user-controlled input is passed to the auth parameter.

💻 Affected Systems

Products:
  • https-proxy-agent
Versions: Versions before 2.1.1
Operating Systems: All
Default Config Vulnerable: ⚠️ Yes
Notes: Vulnerability triggers when user-controlled input reaches the auth parameter, often through JSON parsing or similar mechanisms

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Complete service disruption through DoS and potential memory disclosure leading to further exploitation

🟠

Likely Case

Service degradation or crash when malicious auth input is processed

🟢

If Mitigated

Minimal impact with proper input validation and updated dependencies

🌐 Internet-Facing: HIGH - Applications accepting user input for proxy auth are directly exposed
🏢 Internal Only: MEDIUM - Internal services using vulnerable versions could be exploited by authenticated users

🎯 Exploit Status

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

Exploitation requires ability to submit input to auth parameter, which may be possible through various application interfaces

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: 2.1.1 and later

Vendor Advisory: https://hackerone.com/reports/319532

Restart Required: Yes

Instructions:

1. Update https-proxy-agent to version 2.1.1 or later using npm update https-proxy-agent
2. Restart affected applications
3. Verify no dependencies are pulling in vulnerable versions

🔧 Temporary Workarounds

Input Validation

all

Implement strict input validation for auth parameters before passing to https-proxy-agent

🧯 If You Can't Patch

  • Implement network segmentation to isolate vulnerable systems
  • Deploy WAF rules to block suspicious auth parameter patterns

🔍 How to Verify

Check if Vulnerable:

Check package.json or run npm list https-proxy-agent to see if version <2.1.1 is installed

Check Version:

npm list https-proxy-agent | grep https-proxy-agent

Verify Fix Applied:

Confirm https-proxy-agent version is 2.1.1 or higher via npm list https-proxy-agent

📡 Detection & Monitoring

Log Indicators:

  • Application crashes or high memory usage when processing proxy auth
  • Unusual auth parameter values in logs

Network Indicators:

  • Unusual patterns in proxy authentication requests

SIEM Query:

source="application_logs" AND ("https-proxy-agent" OR "proxy auth") AND ("crash" OR "memory" OR "uninitialized")

🔗 References

📤 Share & Export