Skip to content

Update axios and lodash to address newly reported vulnerabilities#1621

Merged
cmoesel merged 1 commit into
FHIR:masterfrom
snowping:update-vulnerable-deps
Apr 16, 2026
Merged

Update axios and lodash to address newly reported vulnerabilities#1621
cmoesel merged 1 commit into
FHIR:masterfrom
snowping:update-vulnerable-deps

Conversation

@snowping

Copy link
Copy Markdown
Contributor

Summary

npm audit on the current master reports three advisories against the
direct axios and lodash dependencies (plus follow-redirects transitively
through axios). All three were published after SUSHI 3.18.1 was cut, so
they are not covered by the resolution in #1611. This PR bumps the affected
direct dependencies to their first non-vulnerable versions and adds an
overrides entry for follow-redirects, because axios@1.15.0 still pins
follow-redirects@1.15.11 — the upper bound of the vulnerable range.

Package From To Advisory Severity
axios ^1.13.2 ^1.15.0 GHSA-fvcv-3m26-pcqx — SSRF via header-injection chain Critical
axios ^1.13.2 ^1.15.0 GHSA-3p68-rc4w-qgx5NO_PROXY bypass → SSRF Critical
lodash ^4.17.21 ^4.17.24 GHSA-r5fr-rjxr-66jc — code injection via _.template High
lodash ^4.17.21 ^4.17.24 GHSA-f23m-r3pf-42rh — prototype pollution in _.unset/_.omit Moderate
follow-redirects 1.15.11 1.16.0 GHSA-r4q5-vmmm-2653 — auth-header leak on redirect Moderate

`lodash` was bumped to `^4.17.24` (rather than the latest `^4.18.x`) as the
minimal-change floor that stays within the existing `4.17` caret range — npm
still resolves to the latest 4.x at install time (currently 4.18.1). This
matches the spirit of `DEPENDENCY-NOTES.md`, which prefers the smallest
effective bump.

Related: #1611 (the earlier post-3.17.0 transitive-vulnerability sweep, which
was resolved for 3.18.1).

Test plan

  • `npm install` regenerates `npm-shrinkwrap.json` cleanly
  • `npm audit` reports 0 vulnerabilities (previously 1 critical, 1 high, 1 moderate)
  • `npm run check` passes (3502 tests, lint, prettier)
  • `npm ls axios lodash follow-redirects` resolves to axios@1.15.0, lodash@4.18.1, follow-redirects@1.16.0
  • No source changes required; `src/` callers of `lodash` (no `_.template` usage) and `axios` (via `fhir-package-loader` and `src/utils/axiosUtils.ts`) remain API-compatible

- Bump axios from ^1.13.2 to ^1.15.0 to patch GHSA-fvcv-3m26-pcqx
  (unrestricted cloud metadata exfiltration via header injection)
  and GHSA-3p68-rc4w-qgx5 (NO_PROXY hostname normalization bypass
  leading to SSRF).
- Bump lodash from ^4.17.21 to ^4.17.24 to patch GHSA-r5fr-rjxr-66jc
  (code injection via _.template) and GHSA-f23m-r3pf-42rh (prototype
  pollution via array path bypass in _.unset and _.omit).
- Add an explicit overrides entry for follow-redirects ^1.15.12 to
  clear GHSA-r4q5-vmmm-2653 (custom authentication headers leaked to
  cross-domain redirect targets). axios 1.15.0 still pins
  follow-redirects@1.15.11, which is the upper bound of the
  vulnerable range; the override pulls in 1.16.0.

npm audit now reports 0 vulnerabilities. All unit tests, lint, and
prettier checks pass.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

@cmoesel cmoesel left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for the contribution. I'm not sure the overrides entry is needed, as npm audit fix took care of follow-redirects for me -- but we'll take it as-is and remove it if it turns out it's not necessary.

@cmoesel cmoesel merged commit 5db3dd4 into FHIR:master Apr 16, 2026
7 checks passed
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.

2 participants