GHSA-53MJ-MC38-Q894

Vulnerability from github – Published: 2020-09-01 19:40 – Updated: 2021-09-24 14:29
VLAI?
Summary
Remote Memory Exposure in openwhisk
Details

Versions of openwhisk before 3.3.1 are vulnerable to remote memory exposure.

When a number is passed to api_key, affected versions of openwhisk allocate an uninitialized buffer and send that over network in Authorization header (base64-encoded).

Proof of concept:

var openwhisk = require('openwhisk');
var options = {
  apihost: '127.0.0.1:1433', 
  api_key: USERSUPPLIEDINPUT // number
};
var ow = openwhisk(options);
ow.actions.invoke({actionName: 'sample'}).then(result => console.log(result))

Recommendation

Update to version 3.3.1 or later.

Show details on source website

{
  "affected": [
    {
      "package": {
        "ecosystem": "npm",
        "name": "openwhisk"
      },
      "ranges": [
        {
          "events": [
            {
              "introduced": "0"
            },
            {
              "fixed": "3.3.1"
            }
          ],
          "type": "ECOSYSTEM"
        }
      ]
    }
  ],
  "aliases": [],
  "database_specific": {
    "cwe_ids": [],
    "github_reviewed": true,
    "github_reviewed_at": "2020-08-31T18:29:24Z",
    "nvd_published_at": null,
    "severity": "MODERATE"
  },
  "details": "Versions of `openwhisk` before 3.3.1 are vulnerable to remote memory exposure.\n\nWhen a number is passed to `api_key`, affected versions of `openwhisk` allocate an uninitialized buffer and send that over network in Authorization header (base64-encoded).\n\nProof of concept:\n\n```js\nvar openwhisk = require(\u0027openwhisk\u0027);\nvar options = {\n  apihost: \u0027127.0.0.1:1433\u0027, \n  api_key: USERSUPPLIEDINPUT // number\n};\nvar ow = openwhisk(options);\now.actions.invoke({actionName: \u0027sample\u0027}).then(result =\u003e console.log(result))\n```\n\n\n## Recommendation\n\nUpdate to version 3.3.1 or later.",
  "id": "GHSA-53mj-mc38-q894",
  "modified": "2021-09-24T14:29:02Z",
  "published": "2020-09-01T19:40:41Z",
  "references": [
    {
      "type": "WEB",
      "url": "https://github.com/openwhisk/openwhisk-client-js/pull/34"
    },
    {
      "type": "PACKAGE",
      "url": "https://github.com/openwhisk/openwhisk-client-js"
    },
    {
      "type": "WEB",
      "url": "https://www.npmjs.com/advisories/600"
    }
  ],
  "schema_version": "1.4.0",
  "severity": [],
  "summary": "Remote Memory Exposure in openwhisk"
}


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 observed by the user.
  • Confirmed: The vulnerability has been validated from an analyst's perspective.
  • Published Proof of Concept: A public proof of concept is available for this vulnerability.
  • Exploited: The vulnerability was observed as exploited by the user who reported the sighting.
  • Patched: The vulnerability was observed as successfully patched by the user who reported the sighting.
  • Not exploited: The vulnerability was not observed as exploited by the user who reported the sighting.
  • Not confirmed: The user expressed doubt about the validity of the vulnerability.
  • Not patched: The vulnerability was not observed as successfully patched by the user who reported the sighting.


Loading…

Detection rules are retrieved from Rulezet.

Loading…

Loading…