Skip to content

Upgrade Next.js to 16.3.4 security release - #156

Open
kenny2077 wants to merge 1 commit into
samyok:mainfrom
kenny2077:security/upgrade-next-16.3.4
Open

kenny2077 wants to merge 1 commit into
samyok:mainfrom
kenny2077:security/upgrade-next-16.3.4

Conversation

@kenny2077

@kenny2077 kenny2077 commented Sep 9, 2026

Copy link
Copy Markdown

Summary

  • upgrade next and @next/mdx from the previously locked 16.0.7 release to 16.3.4
  • require Node.js 20.9.0 or newer, matching the Next.js 16 runtime requirement
  • regenerate both npm and Yarn 1 lockfiles from the official npm registry without changing React or unrelated direct dependencies

Security impact

Next.js 16.3.3 was a security release, and 16.3.4 is its current follow-up release.

Against the current main lockfile, npm audit --omit=dev --package-lock-only classifies next@16.0.7 as a direct critical vulnerability. Its advisory list includes unauthenticated remote-code-execution issues on Windows-hosted servers (GHSA-p293-qw3h-jr36) and in AVIF image optimization (GHSA-2xp9-vwfh-vxw4). After this upgrade, the production audit contains no advisory attributed to next.

Compatibility

The existing >=18.x engine declaration was also looser than Next.js 16's actual >=20.9.0 requirement, so this PR makes that contract explicit.

Verification

  • npm ci
  • Yarn 1.22.22 install --frozen-lockfile --force --non-interactive
  • npx tsc --noEmit
  • npx eslint . --ext .js,.jsx,.ts,.tsx --ignore-pattern next-env.d.ts (0 errors; one existing react-hooks/exhaustive-deps warning)
  • npm run build
  • production smoke tests returned HTTP 200 for /, /class/CSCI1933, and /api/search?q=CSCI
  • npm audit --omit=dev --package-lock-only: production findings decrease from 18 to 14, critical findings decrease from 2 to 1, and the next entry is removed
  • both lockfiles contain no third-party registry URLs

Scope

The remaining production audit findings include existing sqlite3 and lodash dependency paths and should be handled separately. React, unrelated dependency upgrades, and cleanup of the existing lint script are intentionally excluded from this PR.

@vercel

vercel Bot commented Sep 9, 2026

Copy link
Copy Markdown

@kenny2077 is attempting to deploy a commit to the umn social coding Team on Vercel.

A member of the Team first needs to authorize it.

@devin-ai-integration devin-ai-integration Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Devin Review found 1 potential issue.

⚠️ 1 issue in files not directly in the diff

⚠️ Yarn installs depend on unrelated mirror

Yarn installs now fetch 31 platform packages from registry.npmmirror.com, including the Linux Next.js compiler. Yarn follows each resolved URL directly. An inaccessible mirror blocks frontend installation and deployment on affected platforms.

Devin Review

@kenny2077
kenny2077 force-pushed the security/upgrade-next-16.3.4 branch from 0499dcb to a8b604d Compare September 9, 2026 19:03
@kenny2077

Copy link
Copy Markdown
Author

Resolved the lockfile registry issue in a8b604d. I regenerated yarn.lock with Yarn 1.22.22 against https://registry.npmjs.org, confirmed that both committed lockfiles now reference only registry.npmjs.org, and reran a fresh-cache frozen Yarn install, TypeScript, ESLint, and the production build successfully.

This branch has not been deployed

No deployments
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