Skip to content

Bump @angular/* framework packages to 20.3.25 (combines split security PRs #5850/#5851/#5852)#5859

Open
bram-atmire wants to merge 1 commit into
DSpace:mainfrom
bram-atmire:fix/angular-20.3.25-security
Open

Bump @angular/* framework packages to 20.3.25 (combines split security PRs #5850/#5851/#5852)#5859
bram-atmire wants to merge 1 commit into
DSpace:mainfrom
bram-atmire:fix/angular-20.3.25-security

Conversation

@bram-atmire

@bram-atmire bram-atmire commented Jun 20, 2026

Copy link
Copy Markdown
Member

References

Supersedes and resolves the three split Dependabot security PRs:

Description

Dependabot raised the Angular 20.3.24 -> 20.3.25 security update as three separate per-package PRs (security updates do not honor the @angular* grouping configured in .github/dependabot.yml, which only applies to version updates). Each one fails CI at npm clean-install with ERESOLVE, because Angular peer dependencies require every @angular/* framework package to be the exact same version, and bumping one in isolation leaves the rest at 20.3.24.

This PR bumps the whole peer-locked framework family together so the update can actually install and pass CI:

@angular/animations, @angular/common, @angular/compiler, @angular/core, @angular/forms, @angular/localize, @angular/platform-browser, @angular/platform-browser-dynamic, @angular/platform-server, @angular/router, and @angular/compiler-cli -> ^20.3.25.

@angular/compiler-cli is included because it has an exact peer dependency on @angular/compiler, so it must move in lockstep (leaving it behind reproduces the same ERESOLVE). Independently versioned packages (@angular/cdk, @angular/cli, @angular/ssr) are left untouched.

Security advisories resolved (all fixed in 20.3.25)

Advisory Package Severity
GHSA-rgjc-h3x7-9mwg @angular/core (hydration DOM clobbering & response-cache poisoning) High
GHSA-39pv-4j6c-2g6v @angular/common (weak 32-bit cache key in HttpTransferCache, cross-request data leakage) High
GHSA-48r7-hpm6-gfxm @angular/common (DoS via OOM in formatDate) High
GHSA-58w9-8g37-x9v5 @angular/compiler (two-way binding sanitization bypass / XSS) Medium

Instructions for Reviewers

package.json changes are limited to the eleven Angular packages above. The package-lock.json diff is those version bumps plus a few in-range transitive patch refreshes in the mirador/react subtree (react-rnd, notistack, goober, clsx) that npm reconciles automatically; there are no major or out-of-range changes. Verified locally with npm ci (exit 0), which is the exact command CI runs.

Checklist

  • My PR is small in size, or I have provided reasons as to why that's not possible (lock file changes are auto-generated).
  • My PR passes ESLint validation.
  • My PR doesn't introduce new dependencies (version bump of existing ones only).
  • My PR is created against the main branch.

Combined Angular framework bump from 20.3.24 to 20.3.25, addressing the
security advisories that Dependabot raised as three separate, individually
unmergeable PRs (DSpace#5850 @angular/core, DSpace#5851 @angular/compiler,
DSpace#5852 @angular/common).

Angular peer dependencies require every @angular/* framework package to be
the exact same version, so bumping one package at a time fails npm install
with ERESOLVE. This bumps the whole peer-locked family together:
animations, common, compiler, core, forms, localize, platform-browser,
platform-browser-dynamic, platform-server, router, and compiler-cli
(compiler-cli has an exact peer on compiler, so it must move in lockstep).

The package-lock.json also picks up a few in-range transitive patch
refreshes in the mirador/react subtree (react-rnd, notistack, goober,
clsx) as a byproduct of npm reconciling the lock. Verified with npm ci.

Advisories resolved (fixed in 20.3.25):
- GHSA-rgjc-h3x7-9mwg (High)  @angular/core: hydration DOM clobbering and
  response-cache poisoning
- GHSA-39pv-4j6c-2g6v (High)  @angular/common: weak 32-bit cache key in
  HttpTransferCache, cross-request data leakage
- GHSA-48r7-hpm6-gfxm (High)  @angular/common: DoS via OOM in formatDate
- GHSA-58w9-8g37-x9v5 (Med)   @angular/compiler: two-way binding
  sanitization bypass (XSS)
@bram-atmire bram-atmire force-pushed the fix/angular-20.3.25-security branch from 4e052e3 to 5aeda68 Compare June 20, 2026 13:57
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