Every CVE Search/ Get API key

CVE-2020-28500

Regular Expression Denial of Service (ReDoS)

5.3 MediumFix available

Lodash versions prior to 4.17.21 are vulnerable to Regular Expression Denial of Service (ReDoS) via the toNumber, trim and trimEnd functions.

Attack profile

How easy it is to exploit

Attack vector
Network
Complexity
Low
Privileges needed
None
User interaction
None

What an attacker can affect

Confidentiality
None
Integrity
None
Availability
Low

Exploit likelihood

7.34%Up 4.8 points since Apr 14, 2021
90%50%10%1%

What each source reports

CVE List Score used 5.3

Regular Expression Denial of Service (ReDoS)

Lodash versions prior to 4.17.21 are vulnerable to Regular Expression Denial of Service (ReDoS) via the toNumber, trim and trimEnd functions.

Record
CVE-2020-28500
CVSS 3.1
5.3 MediumCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L/E:P
Updated
2026-11-02
EUVDEUVD-2022-0424 5.3

Lodash versions prior to 4.17.21 are vulnerable to Regular Expression Denial of Service (ReDoS) via the toNumber, trim and trimEnd functions.

Record
EUVD-2022-0424
CVSS 3.1
5.3 MediumCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L/E:P
Updated
2026-11-02
GitHub AdvisoriesGHSA-29mw-wpgm-hmr9 5.3

Regular Expression Denial of Service (ReDoS) in lodash

All versions of package lodash prior to 4.17.21 are vulnerable to Regular Expression Denial of Service (ReDoS) via the toNumber, trim and trimEnd functions.

Steps to reproduce (provided by reporter Liyuan Chen):

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);
Record
GHSA-29mw-wpgm-hmr9
CVSS 3.1
5.3 MediumCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L
Weakness
CWE-400, CWE-1333
Updated
2026-11-02
NVD 5.3

Lodash versions prior to 4.17.21 are vulnerable to Regular Expression Denial of Service (ReDoS) via the toNumber, trim and trimEnd functions.

Record
CVE-2020-28500
CVSS 3.1
5.3 MediumCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L
CVSS 2.0
5.0 MediumAV:N/AC:L/Au:N/C:N/I:N/A:P
Updated
2026-11-02
OSVAZL-44085 5.3

CVE-2020-28500 affecting package js-jquery 3.5.0-4

Lodash versions prior to 4.17.21 are vulnerable to Regular Expression Denial of Service (ReDoS) via the toNumber, trim and trimEnd functions.

Record
AZL-44085
CVSS 3.1
5.3 MediumCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L
Updated
2026-11-02
OSV 5.3

Lodash versions prior to 4.17.21 are vulnerable to Regular Expression Denial of Service (ReDoS) via the toNumber, trim and trimEnd functions.

Record
CVE-2020-28500
CVSS 3.1
5.3 MediumCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L
Updated
2026-11-02
Show 14 moreShow less
OSVDEBIAN-CVE-2020-28500 5.3

Lodash versions prior to 4.17.21 are vulnerable to Regular Expression Denial of Service (ReDoS) via the toNumber, trim and trimEnd functions.

Record
DEBIAN-CVE-2020-28500
CVSS 3.1
5.3 MediumCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L
Updated
2026-11-02
OSVGHSA-29mw-wpgm-hmr9 5.3

Regular Expression Denial of Service (ReDoS) in lodash

All versions of package lodash prior to 4.17.21 are vulnerable to Regular Expression Denial of Service (ReDoS) via the toNumber, trim and trimEnd functions.

Steps to reproduce (provided by reporter Liyuan Chen):

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);
Record
GHSA-29mw-wpgm-hmr9
CVSS 3.1
5.3 MediumCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L
Weakness
CWE-1333, CWE-400
Updated
2026-11-02
OSVRHSA-2021:2179 7.2

Red Hat Security Advisory: RHV Manager security update (ovirt-engine) [ovirt-4.4.6]

Record
RHSA-2021:2179
CVSS 3.1
7.2 HighCVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:U/C:H/I:H/A:H
Updated
2026-11-02
OSVRHSA-2021:3459 7.2

Red Hat Security Advisory: Red Hat Virtualization Host security and bug fix update [ovirt-4.4.8]

Record
RHSA-2021:3459
CVSS 3.1
7.2 HighCVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:U/C:H/I:H/A:H
Updated
2026-11-02
OSVROOT-APP-NPM-CVE-2020-28500 5.3

CVE-2020-28500 in lodash - Patched by Root

Root has patched CVE-2020-28500 in the lodash package for Root:npm. Multiple fixed versions available.

Record
ROOT-APP-NPM-CVE-2020-28500
CVSS 3.1
5.3 MediumCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L
Updated
2026-11-02
OSVUBUNTU-CVE-2020-28500 5.3

Lodash versions prior to 4.17.21 are vulnerable to Regular Expression Denial of Service (ReDoS) via the toNumber, trim and trimEnd functions.

Record
UBUNTU-CVE-2020-28500
CVSS 3.1
5.3 MediumCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L
Updated
2026-11-02
OSVCLSA-2026-1775262615 No score

TuxCare security update for lodash (3 CVEs)

TuxCare rebuilt lodash to address 3 CVEs. Fixed in 4.17.15-tuxcare.5.

Record
CLSA-2026-1775262615
Updated
2026-11-02
OSVCLSA-2026-1776904646 No score

TuxCare security update for 11 packages (4 CVEs)

TuxCare rebuilt 11 packages to address 4 CVEs. Fixed in 4.5.0-tuxcare.5.

Record
CLSA-2026-1776904646
Updated
2026-11-02
OSVCLSA-2026-1784596286 No score

TuxCare security update for lodash (5 CVEs)

TuxCare rebuilt lodash to address 5 CVEs. Fixed in 4.17.4-tuxcare.3.

Record
CLSA-2026-1784596286
Updated
2026-11-02
OSVCLSA-2026-1785291646 No score

TuxCare security update for lodash (4 CVEs)

TuxCare rebuilt lodash to address 4 CVEs. Fixed in 4.17.5-tuxcare.3.

Record
CLSA-2026-1785291646
Updated
2026-11-02
OSVCLSA-2026-1785468076 No score

TuxCare security update for lodash-es (7 CVEs)

TuxCare rebuilt lodash-es to address 7 CVEs. Fixed in 4.17.11-tuxcare.1.

Record
CLSA-2026-1785468076
Updated
2026-11-02
OSVCLSA-2026-1785468082 No score

TuxCare security update for lodash-es (6 CVEs)

TuxCare rebuilt lodash-es to address 6 CVEs. Fixed in 4.17.15-tuxcare.1.

Record
CLSA-2026-1785468082
Updated
2026-11-02
OSVCLSA-2026-1792869760 No score

TuxCare security update for lodash.isequal (7 CVEs)

TuxCare rebuilt lodash.isequal to address 7 CVEs. Fixed in 4.5.0-tuxcare.9.

Record
CLSA-2026-1792869760
Updated
2026-11-02
OSVUSN-8411-1 No score

node-lodash vulnerabilities

It was discovered that Lodash was vulnerable to a prototype pollution issue in the zipObjectDeep function. An attacker could possibly use this issue to modify application behavior. This issue only affected Ubuntu 18.04 LTS and Ubuntu 20.04 LTS. (CVE-2020-8203)

Liyuan Chen discovered that Lodash was vulnerable to a regular expression denial of service issue in the toNumber, trim, and trimEnd functions. An attacker could possibly use this issue to consume excessive system resources, resulting in a denial of service. This issue only affected Ubuntu 18.04 LTS and Ubuntu 20.04 LTS. (CVE-2020-28500)

Marc Hassan discovered that Lodash did not properly sanitize input to the template function. An attacker could possibly use this issue to inject and execute arbitrary commands. This issue only affected Ubuntu 16.04 LTS, Ubuntu 18.04 LTS, and Ubuntu 20.04 LTS. (CVE-2021-23337)

It was discovered that Lodash was vulnerable to a prototype pollution issue in the unset and omit functions. An attacker could possibly use this issue to delete properties from global prototypes, resulting in security restrictions being bypassed. This issue only affected Ubuntu 18.04 LTS, Ubuntu 20.04 LTS, Ubuntu 22.04 LTS, Ubuntu 24.04 LTS, and Ubuntu 25.10. (CVE-2025-13465)

It was discovered that Lodash was vulnerable to a prototype pollution issue in the unset and omit functions. An attacker could possibly use this issue to delete properties from built-in prototypes, resulting in security restrictions being bypassed. This issue only affected Ubuntu 18.04 LTS, Ubuntu 20.04 LTS, Ubuntu 22.04 LTS, Ubuntu 24.04 LTS, Ubuntu 25.10, and Ubuntu 26.04 LTS. (CVE-2026-2950)

It was discovered that Lodash did not properly validate certain inputs to the template function. An attacker could possibly use this issue to inject malicious code during template processing, resulting in arbitrary code execution. (CVE-2026-4800)

Record
USN-8411-1
Updated
2026-11-02

Affected products

Show 7 moreShow less

Affected packages

Affected packages
PackageAffectedFixed
lodash
npm
4.0.0 up to 4.17.21
4.17.21
lodash-es
npm
4.0.0 up to 4.17.21
4.17.21
lodash.trimend
npm
4.0.0 to 4.5.1 None known
lodash.trim
npm
4.0.0 to 4.5.1 None known
lodash-rails
RubyGems
4.0.0 up to 4.17.21
4.17.21
js-jquery
Azure Linux:3
through 3.5.0-4 None known
lodash
TuxCare:npm
4.17.15-tuxcare.0 up to 4.17.15-tuxcare.5, plus listed versions
4.17.154.17.15-tuxcare.14.17.15-tuxcare.24.17.15-tuxcare.34.17.15-tuxcare.4
4.17.15-tuxcare.5
lodash
TuxCare:npm
4.5.0-tuxcare.0 up to 4.5.0-tuxcare.5, plus listed versions
4.5.04.5.0-tuxcare.14.5.0-tuxcare.24.5.0-tuxcare.34.5.0-tuxcare.4
4.5.0-tuxcare.5
lodash.clone
TuxCare:npm
4.5.0-tuxcare.0 up to 4.5.0-tuxcare.5, plus listed versions
4.5.04.5.0-tuxcare.14.5.0-tuxcare.24.5.0-tuxcare.34.5.0-tuxcare.4
4.5.0-tuxcare.5
lodash.clonedeep
TuxCare:npm
4.5.0-tuxcare.0 up to 4.5.0-tuxcare.5, plus listed versions
4.5.04.5.0-tuxcare.14.5.0-tuxcare.24.5.0-tuxcare.34.5.0-tuxcare.4
4.5.0-tuxcare.5
Show 32 moreShow less
Affected packages
PackageAffectedFixed
lodash.clonedeepwith
TuxCare:npm
4.5.0-tuxcare.0 up to 4.5.0-tuxcare.5, plus listed versions
4.5.04.5.0-tuxcare.14.5.0-tuxcare.24.5.0-tuxcare.34.5.0-tuxcare.4
4.5.0-tuxcare.5
lodash.difference
TuxCare:npm
4.5.0-tuxcare.0 up to 4.5.0-tuxcare.5, plus listed versions
4.5.04.5.0-tuxcare.14.5.0-tuxcare.24.5.0-tuxcare.34.5.0-tuxcare.4
4.5.0-tuxcare.5
lodash.flatmap
TuxCare:npm
4.5.0-tuxcare.0 up to 4.5.0-tuxcare.5, plus listed versions
4.5.04.5.0-tuxcare.14.5.0-tuxcare.24.5.0-tuxcare.34.5.0-tuxcare.4
4.5.0-tuxcare.5
lodash.foreach
TuxCare:npm
4.5.0-tuxcare.0 up to 4.5.0-tuxcare.5, plus listed versions
4.5.04.5.0-tuxcare.14.5.0-tuxcare.24.5.0-tuxcare.34.5.0-tuxcare.4
4.5.0-tuxcare.5
lodash.isequal
TuxCare:npm
4.5.0-tuxcare.0 up to 4.5.0-tuxcare.5, plus listed versions
4.5.04.5.0-tuxcare.14.5.0-tuxcare.24.5.0-tuxcare.34.5.0-tuxcare.4
4.5.0-tuxcare.5
lodash.uniq
TuxCare:npm
4.5.0-tuxcare.0 up to 4.5.0-tuxcare.5, plus listed versions
4.5.04.5.0-tuxcare.14.5.0-tuxcare.24.5.0-tuxcare.34.5.0-tuxcare.4
4.5.0-tuxcare.5
lodash.uniqwith
TuxCare:npm
4.5.0-tuxcare.0 up to 4.5.0-tuxcare.5, plus listed versions
4.5.04.5.0-tuxcare.14.5.0-tuxcare.24.5.0-tuxcare.34.5.0-tuxcare.4
4.5.0-tuxcare.5
lodash.xor
TuxCare:npm
4.5.0-tuxcare.0 up to 4.5.0-tuxcare.5, plus listed versions
4.5.04.5.0-tuxcare.14.5.0-tuxcare.24.5.0-tuxcare.34.5.0-tuxcare.4
4.5.0-tuxcare.5
lodash
TuxCare:npm
4.17.4-tuxcare.0 up to 4.17.4-tuxcare.3, plus listed versions
4.17.44.17.4-tuxcare.14.17.4-tuxcare.2
4.17.4-tuxcare.3
lodash
TuxCare:npm
4.17.5-tuxcare.0 up to 4.17.5-tuxcare.3, plus listed versions
4.17.54.17.5-tuxcare.14.17.5-tuxcare.2
4.17.5-tuxcare.3
lodash-es
TuxCare:npm
4.17.11-tuxcare.0 up to 4.17.11-tuxcare.1, plus listed versions
4.17.11
4.17.11-tuxcare.1
lodash-es
TuxCare:npm
4.17.15-tuxcare.0 up to 4.17.15-tuxcare.1, plus listed versions
4.17.15
4.17.15-tuxcare.1
lodash.isequal
TuxCare:npm
4.5.0-tuxcare.0 up to 4.5.0-tuxcare.9, plus listed versions
4.5.04.5.0-tuxcare.74.5.0-tuxcare.8
4.5.0-tuxcare.9
node-lodash
Debian:12
before 4.17.21+dfsg+~cs8.31.173-1
4.17.21+dfsg+~cs8.31.173-1
node-lodash
Debian:13
before 4.17.21+dfsg+~cs8.31.173-1
4.17.21+dfsg+~cs8.31.173-1
node-lodash
Debian:14
before 4.17.21+dfsg+~cs8.31.173-1
4.17.21+dfsg+~cs8.31.173-1
lodash-rails
RubyGems
4.0.0 up to 4.17.21, plus listed versions
4.11.24.12.04.13.14.14.14.15.0
Show 14 moreShow less
4.16.14.16.34.16.44.16.64.17.104.17.114.17.144.17.154.17.24.17.44.17.54.3.04.5.14.6.1
4.17.21
ovirt-engine-ui-extensions
Red Hat:rhev_manager:4.4:el8
before 0:1.2.6-1.el8ev
0:1.2.6-1.el8ev
ovirt-web-ui
Red Hat:rhev_manager:4.4:el8
before 0:1.6.9-1.el8ev
0:1.6.9-1.el8ev
cockpit-ovirt
Red Hat:rhev_hypervisor:4.4::el8
before 0:0.15.1-2.el8ev
0:0.15.1-2.el8ev
cockpit-ovirt-dashboard
Red Hat:rhev_hypervisor:4.4::el8
before 0:0.15.1-2.el8ev
0:0.15.1-2.el8ev
lodash
Root:npm
before 4.17.21-aikido.2
4.17.21-aikido.24.17.21-aikido.3
lodash-es
Root:npm
before 4.17.21-aikido.4
4.17.21-aikido.4
@rootio/lodash
Root:npm
before 4.17.21-root.io.2
4.17.21-root.io.24.17.21-root.io.14.17.21-root.io.3
@rootio/lodash-es
Root:npm
before 4.17.21-root.io.1
4.17.21-root.io.14.17.21-root.io.24.17.21-root.io.34.17.21-root.io.4
node-lodash
Ubuntu:Pro:18.04:LTS
before 4.17.4+dfsg-1ubuntu0.1~esm1, plus listed versions
4.17.4+dfsg-1
4.17.4+dfsg-1ubuntu0.1~esm1
node-lodash
Ubuntu:Pro:20.04:LTS
before 4.17.15+dfsg-2ubuntu0.1~esm1, plus listed versions
4.17.11+dfsg-44.17.15+dfsg-2
4.17.15+dfsg-2ubuntu0.1~esm1
node-lodash
Ubuntu:Pro:16.04:LTS
before 2.4.1+dfsg-3ubuntu0.1~esm1, plus listed versions
2.4.1+dfsg-3
2.4.1+dfsg-3ubuntu0.1~esm1
node-lodash
Ubuntu:Pro:22.04:LTS
before 4.17.21+dfsg+~cs8.31.198.20210220-5ubuntu0.1~esm1, plus listed versions
4.17.21+dfsg+~cs8.31.173-14.17.21+dfsg+~cs8.31.196.20210220-24.17.21+dfsg+~cs8.31.198.20210220-44.17.21+dfsg+~cs8.31.198.20210220-5
4.17.21+dfsg+~cs8.31.198.20210220-5ubuntu0.1~esm1
node-lodash
Ubuntu:Pro:24.04:LTS
before 4.17.21+dfsg+~cs8.31.198.20210220-9ubuntu0.24.04.1~esm1, plus listed versions
4.17.21+dfsg+~cs8.31.198.20210220-9
4.17.21+dfsg+~cs8.31.198.20210220-9ubuntu0.24.04.1~esm1
node-lodash
Ubuntu:25.10
before 4.17.21+dfsg+~cs8.31.198.20210220-9ubuntu0.25.10.1, plus listed versions
4.17.21+dfsg+~cs8.31.198.20210220-9
4.17.21+dfsg+~cs8.31.198.20210220-9ubuntu0.25.10.1
node-lodash
Ubuntu:Pro:26.04:LTS
before 4.17.23+dfsg-1ubuntu0.1~esm1, plus listed versions
4.17.21+dfsg+~cs8.31.198.20210220-94.17.23+dfsg-1
4.17.23+dfsg-1ubuntu0.1~esm1

History

History
RecordedChangedSources
first indexedCVE List, EUVD, GitHub Advisories, NVD, OSV

Dates are when Every CVE recorded each change. Upstream dates may differ.

In short

CVE-2020-28500 is a medium vulnerability (CVSS 5.3) in Lodash, published February 15, 2021. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 7.34%, the 94th percentile. Fixed in lodash 4.17.21.

References

Show 77 moreShow less
MoveEnter Open