Skip to content

fix(ast): update lodash to 4.18.1 to patch CVE-2026-2950 and CVE-2026-4800#466

Open
TwitchBronBron wants to merge 1 commit into
SAP:masterfrom
TwitchBronBron:fix/lodash-security-update
Open

fix(ast): update lodash to 4.18.1 to patch CVE-2026-2950 and CVE-2026-4800#466
TwitchBronBron wants to merge 1 commit into
SAP:masterfrom
TwitchBronBron:fix/lodash-security-update

Conversation

@TwitchBronBron
Copy link
Copy Markdown

Summary

The @xml-tools/ast package pins lodash at 4.17.23, which is affected by two security vulnerabilities patched in 4.18.0:

CVE Severity Description
CVE-2026-2950 High Prototype pollution bypass in _.unset/_.omit — the fix for CVE-2025-13465 only guarded string key members; an attacker can bypass it via array-wrapped path segments, allowing deletion of properties from built-in prototypes (Object.prototype, etc.)
CVE-2026-4800 Critical (CVSS 9.8) Code injection in _.template — arbitrary code execution when untrusted input is passed as options.imports key names

Downstream consumers are currently forced to use overrides/resolutions in their own package.json to work around these advisories. Fixing it here removes that burden.

Change

-    "lodash": "4.17.23"
+    "lodash": "^4.18.1"

Changed from an exact pin to a caret range so future patch releases are picked up automatically.

Test plan

  • npm test in packages/ast — all 26 tests pass before and after the change
  • Installed lodash version confirmed as 4.18.1
  • npm audit no longer reports lodash vulnerabilities after the update

@cla-assistant
Copy link
Copy Markdown

cla-assistant Bot commented May 20, 2026

CLA assistant check
All committers have signed the CLA.

Lodash 4.17.23 is affected by:
- CVE-2026-2950: prototype pollution bypass in _.unset/_.omit (bypasses
  the fix for CVE-2025-13465 via array-wrapped path segments)
- CVE-2026-4800: code injection in _.template (CVSS 9.8) when untrusted
  input is used as options.imports key names

Bumps the pinned version from 4.17.23 to ^4.18.1 which contains the
patches for both issues. All 26 existing tests continue to pass.
@TwitchBronBron TwitchBronBron force-pushed the fix/lodash-security-update branch from 00935f7 to 514edf3 Compare May 20, 2026 14:20
@TwitchBronBron
Copy link
Copy Markdown
Author

It seems like the build failure for build-node22 is because of coverage uploading? Any chance we could get that fixed?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant