GHSA-53mj-mc38-q894MediumDisclosed before NVD

Remote Memory Exposure in openwhisk

Published
September 1, 2020
Last Modified
January 9, 2023

📋 Description

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.

🎯 Affected products1

  • npm/openwhisk:< 3.3.1

🔗 References (3)