Lodash 4.18.0 现已发布,一个现代化的 JavaScript 实用工具库。
Lodash 已获得主权技术机构 (Sovereign Tech Agency) 的支持,并将过渡到功能完成 (Feature-Complete) 成熟阶段,以确保其长期稳定、安全和可持续发展。作为这项工作的一部分,Lodash 正在重启其治理结构。一份章程草案即将发布。即将成立的技术指导委员会 (TSC) 已开始工作。为了保证透明度,其成员名单已列于 GOVERNANCE.md 文件 中。
版本更新内容包括:
Security
_.unset/_.omit:修复了通过constructor/prototype路径遍历导致的原型污染问题(GHSA-f23m-r3pf-42rh,fe8d32e)。此前,数组包裹的路径段和原始根节点可以绕过现有的保护机制,从而允许从内置原型中删除属性。现在constructor和prototype作为 non-terminal path keys 将被无条件阻止,与baseSet一致。此前返回true并删除属性的调用,现在将返回false且不更改目标。
_.template:修复了通过importskeys进行代码注入的漏洞(GHSA-r5fr-rjxr-66jc, CVE-2026-4800, 879aaa9 )。修复了针对 CVE-2021-23337 的一个不完整补丁。虽然已对variable选项进行了reForbiddenIdentifierChars验证,但importsKeys未受保护,导致可通过相同的Function()构造函数接收器进行代码注入。现在,包含禁止标识符字符的importskeys会抛出"Invalid imports option passed into _.template"异常。
Docs
- 在威胁模型和 API 文档中添加
_.template安全提示( #6099)
- 在
_.random中记录lower > upper行为(#6115)
- 修复
_.compactjsdoc 中的引号(#6090)
lodash.* modular packages
Diff
官方还重新构建并发布了部分lodash.*模块化软件包。这些模块化软件包与 lodash 的次要更新/补丁更新严重不同步。具体来说,已将以下软件包更新至与最新 lodash 版本一致,因为它们过去曾存在 CVE 漏洞:
更新说明:https://github.com/lodash/lodash/releases/tag/4.18.0