Sourced from lodash-es's releases.
4.18.1
Bugs
Fixes a
ReferenceErrorissue inlodashlodash-eslodash-amdandlodash.templatewhen using thetemplateandfromPairsfunctions from the modular builds. See lodash/lodash#6167These defects were related to how lodash distributions are built from the main branch using https://github.com/lodash-archive/lodash-cli. When internal dependencies change inside lodash functions, equivalent updates need to be made to a mapping in the lodash-cli. (hey, it was ahead of its time once upon a time!). We know this, but we missed it in the last release. It's the kind of thing that passes in CI, but fails bc the build is not the same thing you tested.
There is no diff on main for this, but you can see the diffs for each of the npm packages on their respective branches:
lodash: https://github.com/lodash/lodash/compare/4.18.0-npm...4.18.1-npmlodash-es: https://github.com/lodash/lodash/compare/4.18.0-es...4.18.1-eslodash-amd: https://github.com/lodash/lodash/compare/4.18.0-amd...4.18.1-amdlodash.templatehttps://github.com/lodash/lodash/compare/4.18.0-npm-packages...4.18.1-npm-packages4.18.0
v4.18.0
Full Changelog: https://github.com/lodash/lodash/compare/4.17.23...4.18.0
Security
_.unset/_.omit: Fixed prototype pollution viaconstructor/prototypepath traversal (GHSA-f23m-r3pf-42rh, fe8d32e). Previously, array-wrapped path segments and primitive roots could bypass the existing guards, allowing deletion of properties from built-in prototypes. Nowconstructorandprototypeare blocked unconditionally as non-terminal path keys, matchingbaseSet. Calls that previously returnedtrueand deleted the property now returnfalseand leave the target untouched.
_.template: Fixed code injection viaimportskeys (GHSA-r5fr-rjxr-66jc, CVE-2026-4800, 879aaa9). Fixes an incomplete patch for CVE-2021-23337. Thevariableoption was validated againstreForbiddenIdentifierCharsbutimportsKeyswas left unguarded, allowing code injection via the sameFunction()constructor sink.importskeys containing forbidden identifier characters now throw"Invalid imports option passed into _.template".Docs
- Add security notice for
_.templatein threat model and API docs (#6099)- Document
lower > upperbehavior in_.random(#6115)- Fix quotes in
_.compactjsdoc (#6090)
lodash.*modular packagesWe have also regenerated and published a select number of the
lodash.*modular packages.These modular packages had fallen out of sync significantly from the minor/patch updates to lodash. Specifically, we have brought the following packages up to parity w/ the latest lodash release because they have had CVEs on them in the past:
cb0b9b9
release(patch): bump main to 4.18.1 (#6177)75535f5
chore: prune stale advisory refs (#6170)62e91bc
docs: remove n_ Node.js < 6 REPL note from README (#6165)59be2de
release(minor): bump to 4.18.0 (#6161)af63457
fix: broken tests for _.template 879aaa91073a76
fix: linting issues879aaa9
fix: validate imports keys in _.templatefe8d32e
fix: block prototype pollution in baseUnset via constructor/prototype
traversal18ba0a3
refactor(fromPairs): use baseAssignValue for consistent assignment (#6153)b819080
ci: add dist sync validation workflow (#6137)