# CVE-2017-16026: request remote memory exposure in multipart handling

Source: https://junglewise.ai/threats/cve-2017-16026-request-remote-memory-exposure-in-multipart-handling  
Publisher: Junglewise Threat Intelligence, https://junglewise.ai/threats  
Published: 2018-11-09. Updated: 2026-09-25  
License: CC BY 4.0 with a link back

CVE-2017-16026 · Severity: low · CVSS 3 · Published 2018-11-09

The request HTTP client library for Node.js can leak local system memory to remote servers when processing multipart requests with numeric body values. An attacker can craft a malicious request that causes the library to allocate and send a buffer of arbitrary size containing uninitialized memory, potentially exposing sensitive data from the server's RAM to the attacker.

Technologies: [request (npm)](https://junglewise.ai/threats/technologies/request). Vendors: [npm](https://junglewise.ai/threats/vendors/npm).

## Quick answers

**Is CVE-2017-16026 exploited in the wild?** No. Junglewise Threat Intelligence has no report of CVE-2017-16026 being exploited in the wild.

**How severe is CVE-2017-16026?** Low severity, with a CVSS score of 3, published 9 November 2018.

**Which products and versions are affected?** request (npm) SEMVER:introduced=2.49.0,fixed=2.68.0.

**Is there a fix for CVE-2017-16026?** Yes. request (npm): upgrade to 2.68.0 or later. Junglewise finds every place you run it, drafts the upgrade and applies it once you approve.

**How is CVE-2017-16026 attacked?** It is attacked over the network.

**Am I affected by CVE-2017-16026?** Check whether you run request (npm) at an affected version. Junglewise does that check for you around the clock: connect your code, cloud and domains, and it matches new vulnerabilities like this one against what you actually run and tells you when one reaches you.

## How to fix

- request (npm): upgrade to 2.68.0 or later

  ```sh
  npm install request@2.68.0
  ```


## Technical details

The vulnerability is a CWE-201 information disclosure flaw in request's multipart request handling. When a multipart request body parameter is set to a number (instead of a string or buffer), the library allocates a buffer of that size and sends it as-is to the remote server without clearing it first. This uninitialized memory may contain sensitive data from the server process. The attack requires only a crafted HTTP request; no authentication or user interaction is needed. An attacker can retrieve up to several hundred bytes of system memory with each request. The fix was released in version 2.68.0.

## Affected products

- request request 2.2.6 to 2.67.x

## Identifiers

- CVE-2017-16026
- GHSA-7xfp-9c55-5vqj

## Timeline

- 2018-11-09: disclosed
- 2017: patched: Fix released in version 2.68.0

## References

- [https://github.com/request/request/issues/1904](https://github.com/request/request/issues/1904)

## Related threats

- [Request library SSRF bypass via cross-protocol redirect](https://junglewise.ai/threats/cve-2023-28155-request-library-ssrf-bypass-via-cross-protocol-redirect)
- [reqquest malicious package typosquatting](https://junglewise.ai/threats/reqquest-malicious-package-typosquatting-ce644ed1)
