HIGH 7.5

CVE-2026-48615: Node.js Proxy Credential Exposure in ERR_PROXY_TUNNEL

Node.js has a vulnerability in how it handles errors when proxy connections fail. If you configure Node.js to use a proxy server and include the login credentials directly in the proxy URL, those credentials can leak into error messages. This leaked information may end up in application logs, monitoring systems, or diagnostic tools where unauthorized parties could read it. The vulnerability affects all three currently supported Node.js release lines: versions 22, 24, and 26.

Source data · NVD / CISA · public domain

CVSS
3.1 · 7.5 HIGH · CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N
Weaknesses (CWE)
CWE-359
Affected products
3 configuration(s)
Published / Modified
2026-06-26 / 2026-06-26

NVD description (verbatim)

A flaw in Node.js proxy tunnel error handling could expose proxy credentials in `ERR_PROXY_TUNNEL` error messages. When proxy credentials are embedded in the proxy URL, they may be exposed through error handling paths and captured by logs, diagnostics, or other error consumers. This vulnerability affects all supported release lines: **Node.js 22**, **Node.js 24**, and **Node.js 26**.

1 reference(s) · View on NVD →

SEC.co analysis · AI-assisted, reviewed against source

Technical summary

CVE-2026-48615 is a credential exposure vulnerability in Node.js proxy tunnel error handling. The flaw exists in the `ERR_PROXY_TUNNEL` error message generation path. When proxy credentials are embedded in the proxy URL (in the format http://user:[email protected]:port), failed proxy connection attempts trigger error messages that retain the credentials in plaintext. These errors are then processed by error consumers such as application logging frameworks, centralized logging systems, or diagnostic collectors, creating a window for credential exposure. The vulnerability is rooted in insufficient sanitization of proxy credentials during error object construction and is classified as CWE-359 (Privacy Violation through Exposure of Private Information).

Business impact

Exposed proxy credentials can be leveraged to bypass perimeter security controls, intercept or modify enterprise traffic, or pivot into adjacent systems that trust the compromised proxy service. Organizations using embedded proxy credentials in Node.js applications face elevated risk of unauthorized access to internal services and networks. If logs containing exposed credentials are retained in centralized logging systems or forwarded to third-party services, the blast radius extends beyond the immediate application. Additionally, regulatory frameworks such as PCI-DSS, HIPAA, and SOC 2 impose audit and remediation obligations when authentication material is logged or exposed, potentially triggering incident response protocols and compliance escalations.

Affected systems

The vulnerability affects Node.js release lines 22, 24, and 26, all of which are currently supported by the Node.js project. Any application using Node.js with proxy URLs containing embedded credentials is at risk. This includes HTTP clients (built-in http/https modules), dependency packages that rely on Node.js proxy handling, and containerized deployments of Node.js-based services. Organizations should inventory Node.js deployments across development, testing, and production environments, and audit their proxy configuration methods to identify which systems use inline credentials rather than external credential providers.

Exploitability

Exploitation does not require network interaction with the vulnerable application or advanced attack sophistication. The vulnerability is triggered passively: any legitimate proxy connection failure automatically generates an error message containing credentials. An attacker needs only read access to logs or diagnostic output—a capability commonly held by junior administrators, CI/CD pipeline users, log aggregation service operators, or supply-chain actors with access to logging infrastructure. No user interaction is required. The CVSS vector (AV:N/AC:L/PR:N/UI:N) reflects the low barrier to exploitation; however, the attack requires the defender to misconfigure proxy credentials in a URL, making this partially preventable through proper secrets management practices.

Remediation

Immediately stop embedding proxy credentials in Node.js proxy URLs. Instead, configure proxy authentication through environment variables (HTTP_PROXY_USERNAME, HTTP_PROXY_PASSWORD, HTTPS_PROXY_USERNAME, HTTPS_PROXY_PASSWORD) or external secret management systems (HashiCorp Vault, AWS Secrets Manager, etc.). Rotate any proxy credentials that may have been logged or exposed. Apply the patched Node.js version when available—verify against the official Node.js advisory for exact patch versions for your release line. Audit historical logs for proxy credentials and sanitize or remove them. Implement log scrubbing rules to redact credentials from future logs automatically. For organizations unable to update immediately, implement network-level access controls to restrict proxy usage and log retention policies that limit credential visibility.

Patch guidance

Check the official Node.js security advisory for patched versions across release lines 22, 24, and 26. Node.js follows a predictable release cycle; patches are typically issued within a minor or patch release. Prioritize updating production environments first, followed by development and testing infrastructure. Verify the patch by confirming that error messages no longer contain proxy credentials in test scenarios. Test thoroughly in staging to ensure proxy connectivity is not disrupted by the patch.

Detection guidance

Search centralized logs and application error aggregation systems for the string `ERR_PROXY_TUNNEL` combined with common proxy URL patterns (looking for schemes like http://, https://, socks5:// followed by username:password@ syntax). Use SIEM correlation rules to flag error messages containing the pattern of proxy credentials (basic auth in URLs). Monitor proxy server logs for authentication failures originating from Node.js clients, which may indicate active exploitation or reconnaissance. Inspect environment variable configurations and startup scripts for embedded proxy credentials. Automated secrets scanners should be run against log archives to identify exposed credentials that may have already been captured.

Why prioritize this

Although not yet listed in the CISA Known Exploited Vulnerabilities catalog, this vulnerability warrants urgent attention because (1) exploitation is passive and requires no attacker sophistication, (2) it affects all supported Node.js release lines, and (3) the exposure window—error logs—is within the control of operations teams. Organizations using Node.js in production with any form of proxy authentication should patch within 30 days. The severity is HIGH (CVSS 7.5) due to the certainty of credential exposure if misconfiguration exists, and the downstream impact on network perimeter security.

Risk score, explained

The CVSS 3.1 score of 7.5 (HIGH) reflects high confidentiality impact (credentials exposed) with no integrity or availability impact. The attack vector is network (errors are generated during normal operations), attack complexity is low (proxy failure is not rate-limited or difficult to trigger), and no privileges or user interaction are required. The scope is unchanged (impact is limited to the confidentiality of proxy credentials, not broader system integrity). This score appropriately captures the severity of credential exposure while acknowledging that the underlying system functionality (proxy connectivity) is not disrupted.

Frequently asked questions

Can we work around this without patching Node.js immediately?

Yes. The most effective workaround is to change your proxy configuration to use environment variables or external secret stores instead of embedding credentials in the proxy URL. This eliminates the root cause. Additionally, implement log scrubbing and review log retention policies to minimize exposure window. However, patching remains the definitive fix and should be scheduled within 30 days.

Does this vulnerability affect Node.js versions that are no longer supported?

The advisory specifies versions 22, 24, and 26. If your organization uses older versions (such as 18 or 20), verify their support status with the Node.js Long-Term Support schedule. Unsupported versions do not receive security patches and should be treated as end-of-life; migration to a supported version is the recommended path.

If proxy credentials are in logs, can attackers find them?

Yes. Attackers with any form of log access—whether through a compromised admin account, exposed logging service, third-party log aggregation service, or leaked backup—can retrieve exposed credentials. This is why immediate log sanitization and credential rotation are critical alongside patching.

How do we know if we're vulnerable?

You are vulnerable if: (1) you use Node.js 22, 24, or 26, and (2) your application configures a proxy using a URL with embedded credentials (user:password@proxy). Search your configuration files, application code, and startup scripts for proxy URLs containing '@' symbols. Check your logs for ERR_PROXY_TUNNEL errors to see if credentials are present.

This analysis is provided for informational purposes and represents the current understanding of CVE-2026-48615 based on available vendor advisories and technical documentation. No proof-of-concept code or weaponized exploit steps are provided. Organizations should verify patch availability and version numbers directly with the official Node.js security advisory before deploying updates. SEC.co makes no warranty regarding the completeness or accuracy of this analysis and recommends that security teams conduct independent validation of vulnerability impact within their specific environments. Always test patches in non-production environments before production deployment. Source: NVD (public-domain), retrieved 2026-08-04. Analysis generated by SEC.co (claude-haiku-4-5).