Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

CVE-2021-21368 (High) detected in msgpack5-4.2.1.tgz #9

Open
mend-bolt-for-github bot opened this issue Mar 26, 2021 · 0 comments
Open

CVE-2021-21368 (High) detected in msgpack5-4.2.1.tgz #9

mend-bolt-for-github bot opened this issue Mar 26, 2021 · 0 comments
Labels
Mend: dependency security vulnerability Security vulnerability detected by WhiteSource

Comments

@mend-bolt-for-github
Copy link
Contributor

mend-bolt-for-github bot commented Mar 26, 2021

CVE-2021-21368 - High Severity Vulnerability

Vulnerable Library - msgpack5-4.2.1.tgz

A msgpack v5 implementation for node.js and the browser, with extension points

Library home page: https://registry.npmjs.org/msgpack5/-/msgpack5-4.2.1.tgz

Path to dependency file: /package.json

Path to vulnerable library: /node_modules/msgpack5/package.json

Dependency Hierarchy:

  • loopback-connector-mongodb-5.4.0.tgz (Root Library)
    • loopback-connector-5.0.0.tgz
      • msgpack5-4.2.1.tgz (Vulnerable Library)

Found in HEAD commit: 526ff05d8e795faebf3b30bd9444f77fef61bad9

Found in base branch: master

Vulnerability Details

msgpack5 is a msgpack v5 implementation for node.js and the browser. In msgpack5 before versions 3.6.1, 4.5.1, and 5.2.1 there is a "Prototype Poisoning" vulnerability. When msgpack5 decodes a map containing a key "proto", it assigns the decoded value to proto. Object.prototype.proto is an accessor property for the receiver's prototype. If the value corresponding to the key proto decodes to an object or null, msgpack5 sets the decoded object's prototype to that value. An attacker who can submit crafted MessagePack data to a service can use this to produce values that appear to be of other types; may have unexpected prototype properties and methods (for example length, numeric properties, and push et al if proto's value decodes to an Array); and/or may throw unexpected exceptions when used (for example if the proto value decodes to a Map or Date). Other unexpected behavior might be produced for other types. There is no effect on the global prototype. This "prototype poisoning" is sort of a very limited inversion of a prototype pollution attack. Only the decoded value's prototype is affected, and it can only be set to msgpack5 values (though if the victim makes use of custom codecs, anything could be a msgpack5 value). We have not found a way to escalate this to true prototype pollution (absent other bugs in the consumer's code). This has been fixed in msgpack5 version 3.6.1, 4.5.1, and 5.2.1. See the referenced GitHub Security Advisory for an example and more details.

Publish Date: 2021-03-12

URL: CVE-2021-21368

CVSS 3 Score Details (8.8)

Base Score Metrics:

  • Exploitability Metrics:
    • Attack Vector: Network
    • Attack Complexity: Low
    • Privileges Required: Low
    • User Interaction: None
    • Scope: Unchanged
  • Impact Metrics:
    • Confidentiality Impact: High
    • Integrity Impact: High
    • Availability Impact: High

For more information on CVSS3 Scores, click here.

Suggested Fix

Type: Upgrade version

Origin: GHSA-gmjw-49p4-pcfm

Release Date: 2021-03-12

Fix Resolution (msgpack5): 4.5.1

Direct dependency fix Resolution (loopback-connector-mongodb): 5.5.0


Step up your Open Source Security Game with Mend here

@mend-bolt-for-github mend-bolt-for-github bot added the Mend: dependency security vulnerability Security vulnerability detected by WhiteSource label Mar 26, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Mend: dependency security vulnerability Security vulnerability detected by WhiteSource
Projects
None yet
Development

No branches or pull requests

0 participants