Skip to content
This repository has been archived by the owner on Jan 29, 2023. It is now read-only.

Update dependency lodash to v4 [SECURITY] #7

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

renovate[bot]
Copy link
Contributor

@renovate renovate bot commented Aug 31, 2019

Mend Renovate

This PR contains the following updates:

Package Change Age Adoption Passing Confidence
lodash (source) 3.10.1 -> 4.17.21 age adoption passing confidence
lodash (source) ^3.5.0 -> ^4.17.21 age adoption passing confidence

GitHub Vulnerability Alerts

CVE-2018-16487

Versions of lodash before 4.17.5 are vulnerable to prototype pollution.

The vulnerable functions are 'defaultsDeep', 'merge', and 'mergeWith' which allow a malicious user to modify the prototype of Object via {constructor: {prototype: {...}}} causing the addition or modification of an existing property that will exist on all objects.

Recommendation

Update to version 4.17.11 or later.

CVE-2019-10744

Versions of lodash before 4.17.12 are vulnerable to Prototype Pollution. The function defaultsDeep allows a malicious user to modify the prototype of Object via {constructor: {prototype: {...}}} causing the addition or modification of an existing property that will exist on all objects.

Recommendation

Update to version 4.17.12 or later.

CVE-2019-1010266

lodash prior to 4.7.11 is affected by: CWE-400: Uncontrolled Resource Consumption. The impact is: Denial of service. The component is: Date handler. The attack vector is: Attacker provides very long strings, which the library attempts to match using a regular expression. The fixed version is: 4.7.11.

CVE-2018-3721

Versions of lodash before 4.17.5 are vulnerable to prototype pollution.

The vulnerable functions are 'defaultsDeep', 'merge', and 'mergeWith' which allow a malicious user to modify the prototype of Object via __proto__ causing the addition or modification of an existing property that will exist on all objects.

Recommendation

Update to version 4.17.5 or later.

CVE-2021-23337

lodash versions prior to 4.17.21 are vulnerable to Command Injection via the template function.

CVE-2020-8203

Versions of lodash prior to 4.17.19 are vulnerable to Prototype Pollution. The function zipObjectDeep allows a malicious user to modify the prototype of Object if the property identifiers are user-supplied. Being affected by this issue requires zipping objects based on user-provided property arrays.

This vulnerability causes the addition or modification of an existing property that will exist on all objects and may lead to Denial of Service or Code Execution under specific circumstances.

CVE-2020-28500

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)


Release Notes

lodash/lodash

v4.17.21

Compare Source

v4.17.20

Compare Source

v4.17.16

Compare Source

v4.17.15

Compare Source

v4.17.14

Compare Source

v4.17.13

Compare Source

v4.17.12

Compare Source

v4.17.11

Compare Source

v4.17.10

Compare Source

v4.17.9

Compare Source

v4.17.5

Compare Source

v4.17.4

Compare Source

v4.17.3

Compare Source

v4.17.2

Compare Source

v4.17.1

Compare Source

v4.17.0

Compare Source

v4.16.6

Compare Source

v4.16.5

Compare Source

v4.16.4

Compare Source

v4.16.3

Compare Source

v4.16.2

Compare Source

v4.16.1

Compare Source

v4.16.0

Compare Source

v4.15.0

Compare Source

v4.14.2

Compare Source

v4.14.1

Compare Source

v4.14.0

Compare Source

v4.13.1

Compare Source

v4.13.0

Compare Source

v4.12.0

Compare Source

v4.11.2

Compare Source

v4.11.1

Compare Source

v4.11.0

Compare Source

v4.10.0

Compare Source

v4.9.0

Compare Source

v4.8.2

Compare Source

v4.8.1

Compare Source

v4.8.0

Compare Source

v4.7.0

Compare Source

v4.6.1

Compare Source

v4.6.0

Compare Source

v4.5.1

Compare Source

v4.5.0

Compare Source

v4.4.0

Compare Source

v4.3.0

Compare Source

v4.2.1

Compare Source

v4.2.0

Compare Source

v4.1.0

Compare Source

v4.0.1

Compare Source

v4.0.0

Compare Source

lodash v4.0.0

2015 was big year! Lodash became the most depended on npm package, passed 1 billion downloads, & its v3 release saw massive adoption!

The year was also one of collaboration, as discussions began on merging Lodash & Underscore. Much of Lodash v4 is proofing out the ideas from those discussions. Lodash v4 would not be possible without the collaboration & contributions of the Underscore core team. In the spirit of merging our teams have blended with several members contributing to both libraries.

For 2016 & lodash v4.0.0 we wanted to cut loose, push forward, & take things up a notch!

Modern only

With v4 we’re breaking free from old projects, old environments, & dropping old IE < 9 support!

4 kB Core

Lodash’s kitchen-sink size will continue to grow as new methods & functionality are added. However, we now offer a 4 kB (gzipped) core build that’s compatible with Backbone v1.2.4 for folks who want Lodash without lugging around the kitchen sink.

More ES6

We’ve continued to embrace ES6 with methods like _.isSymbol, added support for cloning & comparing array buffers, maps, sets, & symbols, converting iterators to arrays, & iterable _(…).

In addition, we’ve published an es-build & pulled babel-plugin-lodash into core to make tree-shaking a breeze.

More Modular

Pop quiz! 📣

What category path does the bindAll method belong to? Is it

A) require('lodash/function/bindAll')
B) require('lodash/utility/bindAll')
C) require('lodash/util/bindAll')

Don’t know? Well, with v4 it doesn’t matter because now module paths are as simple as

var bindAll = require('lodash/bindAll');

We’ve also reduced module complexity making it easier to create smaller bundles. This has helped Lodash adoption with libraries like Async & Redux!

1st Class FP

With v3 we introduced lodash-fp. We learned a lot & with v4 we decided to pull it into core.

Now you can get immutable, auto-curried, iteratee-first, data-last methods as simply as

var _ = require('lodash/fp');
var object = { 'a': 1 };
var source = { 'b': 2 };
var newObject = _.assign(source)(object);

console.log(newObject);
// => { 'a': 1, 'b': 2 }

console.log(object);
// => { 'a': 1 }

var convert = require('lodash/fp/convert');
var assign = convert('assign', require('lodash.assign'));
// works too!
Chakra Optimized

Well actually, while we’re excited about Chakra, Lodash is optimized for great performance across all engines. Unlike many libraries, we don’t favor a single engine so we can deliver solid performance & support regardless of engine.

With v4 we’ve continued our commitment to performance; expanding support for lazy evaluation & improving the performance of core functionality like circular reference detection.

Emojis

Taking things up a notch Lodash v4 has added support for emojis! Includes things like
astral symbols, unicode modifiers, variation selector characters, zero-width joiners, & regional indicator symbols.

Breaking changes

We’ve introduced more breaking changes in this release than any other so be sure to check out the changelog for a full rundown of changes & give lodash-migrate a spin to help migrate older Lodash code to the latest release.

If you dig Lodash don’t forget to star the repo or npm star lodash!


Configuration

📅 Schedule: Branch creation - "" (UTC), Automerge - At any time (no schedule defined).

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about these updates again.


  • If you want to rebase/retry this PR, check this box

This PR has been generated by Mend Renovate. View repository job log here.

@pull-assistant
Copy link

pull-assistant bot commented Sep 16, 2019

Score: 1.00

Best reviewed: commit by commit


Optimal code review plan

     Update dependency lodash [SECURITY]

Powered by Pull Assistant. Last update 64f2caa ... 64f2caa. Read the comment docs.

@renovate renovate bot force-pushed the renovate/npm-lodash-vulnerability branch from 1b36be0 to 7aa06af Compare December 14, 2019 19:01
@renovate renovate bot force-pushed the renovate/npm-lodash-vulnerability branch from 7aa06af to 64f2caa Compare August 25, 2020 01:56
@renovate renovate bot force-pushed the renovate/npm-lodash-vulnerability branch from 64f2caa to 793d542 Compare May 9, 2021 21:21
@renovate renovate bot changed the title Update dependency lodash [SECURITY] Update dependency lodash to v4 [SECURITY] May 9, 2021
@renovate renovate bot force-pushed the renovate/npm-lodash-vulnerability branch from 793d542 to dbcb29e Compare May 15, 2021 20:04
@renovate renovate bot force-pushed the renovate/npm-lodash-vulnerability branch from dbcb29e to 77880bb Compare June 6, 2021 19:08
@renovate renovate bot force-pushed the renovate/npm-lodash-vulnerability branch from 77880bb to fb13ad3 Compare November 20, 2022 23:56
@renovate renovate bot force-pushed the renovate/npm-lodash-vulnerability branch 2 times, most recently from c1acc63 to 7750e2c Compare November 30, 2022 16:25
@renovate renovate bot force-pushed the renovate/npm-lodash-vulnerability branch 4 times, most recently from 6362deb to d8156a2 Compare December 10, 2022 11:08
@renovate renovate bot force-pushed the renovate/npm-lodash-vulnerability branch 4 times, most recently from 7b49b2c to 0dbde6c Compare December 20, 2022 08:39
@renovate renovate bot force-pushed the renovate/npm-lodash-vulnerability branch 2 times, most recently from ff936a7 to f1bc1dc Compare January 6, 2023 14:06
@renovate renovate bot force-pushed the renovate/npm-lodash-vulnerability branch from f1bc1dc to 37bf909 Compare January 17, 2023 16:59
@renovate renovate bot force-pushed the renovate/npm-lodash-vulnerability branch from 37bf909 to 4fa5bd6 Compare January 18, 2023 08:57
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

0 participants