Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

⬆️ Update dependency next to v14 [SECURITY] #2094

Open
wants to merge 1 commit into
base: dev
Choose a base branch
from

Conversation

renovate[bot]
Copy link
Contributor

@renovate renovate bot commented Aug 1, 2024

This PR contains the following updates:

Package Change Age Adoption Passing Confidence
next (source) 13.4.12 -> 14.2.15 age adoption passing confidence

GitHub Vulnerability Alerts

CVE-2023-46298

Next.js before 13.4.20-canary.13 lacks a cache-control header and thus empty prefetch responses may sometimes be cached by a CDN, causing a denial of service to all users requesting the same URL via that CDN. Cloudflare considers these requests cacheable assets.

CVE-2024-34350

Impact

Inconsistent interpretation of a crafted HTTP request meant that requests are treated as both a single request, and two separate requests by Next.js, leading to desynchronized responses. This led to a response queue poisoning vulnerability in the affected Next.js versions.

For a request to be exploitable, the affected route also had to be making use of the rewrites feature in Next.js.

Patches

The vulnerability is resolved in Next.js 13.5.1 and newer. This includes Next.js 14.x.

Workarounds

There are no official workarounds for this vulnerability. We recommend that you upgrade to a safe version.

References

https://portswigger.net/web-security/request-smuggling/advanced/response-queue-poisoning

CVE-2024-34351

Impact

A Server-Side Request Forgery (SSRF) vulnerability was identified in Next.js Server Actions by security researchers at Assetnote. If the Host header is modified, and the below conditions are also met, an attacker may be able to make requests that appear to be originating from the Next.js application server itself.

Prerequisites

  • Next.js (<14.1.1) is running in a self-hosted* manner.
  • The Next.js application makes use of Server Actions.
  • The Server Action performs a redirect to a relative path which starts with a /.

* Many hosting providers (including Vercel) route requests based on the Host header, so we do not believe that this vulnerability affects any Next.js applications where routing is done in this manner.

Patches

This vulnerability was patched in #​62561 and fixed in Next.js 14.1.1.

Workarounds

There are no official workarounds for this vulnerability. We recommend upgrading to Next.js 14.1.1.

Credit

Vercel and the Next.js team thank Assetnote for responsibly disclosing this issue to us, and for working with us to verify the fix. Thanks to:

Adam Kues - Assetnote
Shubham Shah - Assetnote

CVE-2024-47831

Impact

The image optimization feature of Next.js contained a vulnerability which allowed for a potential Denial of Service (DoS) condition which could lead to excessive CPU consumption.

Not affected:

  • The next.config.js file is configured with images.unoptimized set to true or images.loader set to a non-default value.
  • The Next.js application is hosted on Vercel.

Patches

This issue was fully patched in Next.js 14.2.7. We recommend that users upgrade to at least this version.

Workarounds

Ensure that the next.config.js file has either images.unoptimized, images.loader or images.loaderFile assigned.

Credits

Brandon Dahler (brandondahler), AWS
Dimitrios Vlastaras

CVE-2024-39693

Impact

A Denial of Service (DoS) condition was identified in Next.js. Exploitation of the bug can trigger a crash, affecting the availability of the server.

This vulnerability can affect all Next.js deployments on the affected versions.

Patches

This vulnerability was resolved in Next.js 13.5 and later. We recommend that users upgrade to a safe version.

Workarounds

There are no official workarounds for this vulnerability.

Credit

  • Thai Vu of flyseccorp.com
  • Aonan Guan (@​0dd), Senior Cloud Security Engineer

CVE-2024-51479

Impact

If a Next.js application is performing authorization in middleware based on pathname, it was possible for this authorization to be bypassed.

Patches

This issue was patched in Next.js 14.2.15 and later.

If your Next.js application is hosted on Vercel, this vulnerability has been automatically mitigated, regardless of Next.js version.

Workarounds

There are no official workarounds for this vulnerability.

Credits

We'd like to thank tyage (GMO CyberSecurity by IERAE) for responsible disclosure of this issue.


Release Notes

vercel/next.js (next)

v14.2.15

Compare Source

[!NOTE]
This release is backporting bug fixes. It does not include all pending features/changes on canary.

Core Changes
  • support breadcrumb style catch-all parallel routes #​65063
  • Provide non-dynamic segments to catch-all parallel routes #​65233
  • Fix client reference access causing metadata missing #​70732
  • feat(next/image): add support for decoding prop #​70298
  • feat(next/image): add images.localPatterns config #​70529
  • fix(next/image): handle undefined images.localPatterns config in images-manifest.json
  • fix: Do not omit alt on getImgProps return type, ImgProps #​70608
  • [i18n] Routing fix #​70761
Credits

Huge thanks to @​ztanner, @​agadzik, @​huozhi, @​styfle, @​icyJoseph and @​wyattjoh for helping!

v14.2.14

Compare Source

[!NOTE]
This release is backporting bug fixes. It does not include all pending features/changes on canary.

Core Changes
  • Fix: clone response in first handler to prevent race (#​70082) (#​70649)
  • Respect reexports from metadata API routes (#​70508) (#​70647)
  • Externalize node binary modules for app router (#​70646)
  • Fix revalidateTag() behaviour when invoked in server components (#​70446) (#​70642)
  • Fix prefetch bailout detection for nested loading segments (#​70618)
  • Add missing node modules to externals (#​70382)
  • Feature: next/image: add support for images.remotePatterns.search (#​70302)
Credits

Huge thanks to @​styfle, @​ztanner, @​ijjk, @​huozhi and @​wyattjoh for helping!

v14.2.13

Compare Source

v14.2.12

Compare Source

v14.2.11

Compare Source

v14.2.10

Compare Source

v14.2.9

Compare Source

v14.2.8

Compare Source

v14.2.7

Compare Source

v14.2.6

Compare Source

v14.2.5

Compare Source

v14.2.4

Compare Source

[!NOTE]
This release is backporting bug fixes. It does not include all pending features/changes on canary.

Core Changes
  • fix: ensure route handlers properly track dynamic access (#​66446)
  • fix NextRequest proxy in edge runtime (#​66551)
  • Fix next/dynamic with babel and src dir (#​65177)
  • Use vercel deployment url for metadataBase fallbacks (#​65089)
  • fix(next/image): detect react@19 for fetchPriority prop (#​65235)
  • Fix loading navigation with metadata and prefetch (#​66447)
  • prevent duplicate RSC fetch when action redirects (#​66620)
  • ensure router cache updates reference the latest cache values (#​66681)
  • Prevent append of trailing slash in cases where path ends with a file extension (#​66636)
  • Fix inconsistency with 404 getStaticProps cache-control (#​66674)
  • Use addDependency to track metadata route file changes (#​66714)
  • Add timeout/retry handling for fetch cache (#​66652)
  • fix: app-router prefetch crash when an invalid URL is passed to Link (#​66755)
Credits

Huge thanks to @​ztanner, @​ijjk, @​wbinnssmith, @​huozhi, and @​lubieowoce for helping!

v14.2.3

Compare Source

v14.2.2

Compare Source

v14.2.1

Compare Source

v14.2.0

Compare Source

v14.1.4

Compare Source

v14.1.3

Compare Source

v14.1.2

Compare Source

v14.1.1

Compare Source

Note: this is a backport release for critical bug fixes -- this does not include all pending features/changes on canary

Core Changes
Credits

Huge thanks to @​huozhi, @​shuding, @​Ethan-Arrowood, @​styfle, @​ijjk, @​ztanner, @​balazsorban44, @​kdy1, and @​williamli for helping!

v14.1.0

Compare Source

v14.0.4

Compare Source

v14.0.3

Compare Source

v14.0.2

Compare Source

v14.0.1

Compare Source

Core Changes
  • Add Next.js 14 codemods to CLI output.: #​57552
  • OpenTelemetry: propagate a configured context(s) to root requests: #​57084
  • debug: Add tags to next build traces to track build configuration in the .next/trace file: #​56965
  • [Traces] Await the flush of the trace write stream to make sure trace file is written: #​57641
  • Add node-pty to externals list: #​57640
  • fix: move logging config validation out of experimental: #​57530
  • Update font data: #​57728
  • Support viewport export via TS Plugin: #​57554
  • Fix: Build compilation warning when using middleware: #​57685
  • chore: Update flight-client-entry-plugin.ts typo: #​57734
  • Improve error for missing default export in dynamic metadata routes: #​57711
  • fix gsp tracing issue: #​57766
  • fix(turbopack): don't match empty route groups: #​57647
  • Update React from 8c8ee9e to 0c63487 and types: #​57772
Documentation Changes
  • Add missing dot in codemod command: #​57536
  • docs(fix): example text unescaped entities: #​57255
  • doc: Clarify built-in support for sass after installation: #​57279
  • Update docs with a Good to know box about using redirect in client components: #​56966
  • docs: fix 02-dynamic-routes.mdx: #​57029
  • Fix incorrect link in GTM docs: #​57547
  • Fix typos: #​57592
  • Add apostrophe 07-error-handling.mdx: #​57626
  • Fix: codemods.mdx Incorrect heading structure of next-og-import, meta…: #​57605
  • Typo fix, version "13" to "14": #​57723
  • Fix Google Tag Manager URL in Third Party Libraries documentation: #​57731
Example Changes
Misc Changes
  • update manifest: #​57523
  • update next/third-parties to use Next 14 or 13 as a peer dependency, instead of just 13: #​57515
  • Modify tailwindcss related dependency of create-next-app: #​57262
  • Remove extra CI step and lock Node.js version: #​57769
Credits

Huge thanks to @​dijonmusters, @​sokra, @​philwolstenholme, @​IgorKowalczyk, @​housseindjirdeh, @​Zoe-Bot, @​HanCiHu, @​JackHowa, @​goncy, @​hirotomoyamada, @​pveyes, @​yeskunall, @​vinaykulk621, @​ChendayUP, @​leerob, @​dvoytenko, @​mknichel, @​ijjk, @​hmaesta, @​ajz003, @​its-kunal, @​joelhooks, @​blurrah, @​tariknh, @​Vinlock, @​Nayeem-XTREME, @​aziyatali, @​aspehler, @​huozhi, @​ztanner, @​ForsakenHarmony, @​moka-ayumu, and @​gnoff for helping!

v14.0.0

Compare Source

v13.5.7

Compare Source

v13.5.6

Compare Source

Core Changes
  • Upgrade edge-runtime/cookies #​57021
  • Patch React with fix for write-after-close for ReadableStream #​57011
Credits

Huge thanks to @​ijjk @​huozhi @​gnoff for helping!

v13.5.5

Compare Source

v13.5.4

Compare Source

Core Changes
  • chore: NextJS -> Next.js: #​55961
  • fix-failed-to-generate-self-signed-certificate issue:#​55891: #​55947
  • Remove .test.js from dist: #​55946
  • Turbopack next/font/google: don't insert css rules for multiple weights or styles: #​55852
  • Fix stale revalidate stream handling: #​55978
  • turbopack: improve turbopack/test stability: #​56024
  • Mark testmode fetches internal: #​56036
  • chore: Remove 'beta.' Subdomain from beta.nextjs.org Links: #​55924
  • Remove experimental.sharedPool: #​56021
  • fix(worker): pass env to build worker w/ config.experimental.workerThreads: #​55257
  • Update swc_core to v0.83.26: #​55780
  • Revert "Update swc_core to v0.83.26": #​56077
  • fix reporting of illegal segments when directory only contains irrelevant files: #​56076
  • Make permanentRedirect return 308 in route handlers: #​56065
  • Remove unneeded next-dev js in next-core: #​56039
  • Fix: Use boolean instead of false for experimental logging config: #​56110
  • chore: remove chalk in favor of picocolors: #​55992
  • Revert: "Generate prefetch RSC payload during build for SSR paths (#​54403)": #​56059
  • fetching logging on edge: #​56108
  • Optimize build trace handling: #​56048
  • Update font data: #​56121
  • feat(turbopack): port bloom filter to nexturbo: #​55678
  • Fixes performance problems due to TaskScopes: #​55721
  • perf: remove react dom legacy from app router: #​56082
  • perf: replace zod with superstruct: #​56083
  • perf: externalise ws for bundled server: #​56095
  • misc: refactor node utils: #​56096
  • Add support for skipTrailingSlashRedirect and skipMiddlewareUrlNormalize in Turbopack: #​56147
  • Add experimental.scrollRestoration for Turbopack: #​56150
  • misc: refactor handleExternals: #​56161
  • perf: add option to bundle pages externals: #​56162
  • Allow jest to run with use server directive: #​56148
  • Update experimental compile cache handling: #​56139
  • App render related code clean up: #​56178
  • Add support for i18n config in Turbopack: #​56182
  • Implement list of config options for Turbopack: #​56188
  • Turbopack: add support for an assetPrefix and basePath: #​56058
  • update turbopack: #​56197
  • Update supported options list to reflect #​56188: #​56200
  • Add support for experimental.logging.level in Turbopack: #​56201
  • Add next.config.js options to turbopack warning file: #​56207
  • fix: @​libsql/client build error: #​56192
  • chore: bump postcss: #​56225
  • Add additional handling for experimental-compile: #​56224
  • Drop ipc server headers filters: #​56226
  • only override NODE_EXTRA_CA_CERTS when using experimental https flag: #​56252
  • Pass same mangling option as terser to SWC minifier: #​56281
  • update turbopack: #​56285
  • clear require cache only when needed: #​56198
  • misc: enable source maps for bundled runtime: #​56289
  • misc: shortcut styled-jsx in external resolution: #​56291
  • Support serverRuntimeConfig and publicRuntimeConfig in Turbopack: #​56310
  • Reland static prefetches & fix prefetch bailout behavior: #​56228
  • fix(#​53190): add missing crossOrigin to assetsPrefix resources: #​56311
  • misc: fix instrumentation with bundled server: #​56318
  • fix(next/client): keep hash when navigating from app to pages router: #​56223
  • fix: support both decoded and encoded url requests of conventioned files : #​56187
  • fix: Invalid URL (404) provided on server actions error: #​56323
  • Revert "misc: shortcut styled-jsx in external resolution (#​56291)": #​56334
  • Fix build output logging order: #​56335
Documentation Changes
  • docs: add not-found to file conventions page: #​55944
  • Update 03-linking-and-navigating.mdx: #​55907
  • docs: Correct place for passing extension option to createMDX(): #​55967
  • docs-55629 update router cache column in cache interactions api table: #​55630
  • Update 03-linking-and-navigating.mdx: #​55969
  • Updates "Prerender Error" page for App Router: #​56044
  • Add the default import alias to create-next-app prompt for clarity: #​55896
  • Update revalidatePath.mdx to fix confusing wording of arguments section.: #​56099
  • docs: Renamed function that is used by other name: #​56170
  • (docs) Document Server Actions .bind method: #​56164
  • docs: Use Response.json over NextResponse.json: #​56173
  • correcting link to useSearchParams ref: #​56169
  • docs(sharp-missing-in-production.mdx): update standalone command: #​56191
  • docs(sharp-missing-in-production.mdx): update standalone command: #​56239
  • Update image.mdx: #​56269
  • Update image.mdx: #​56266
Example Changes
  • chore(examples): bump dependency versions: #​55899
  • Update to with-supertokens example app: #​56035
  • Update dependencies in examples : #​55993
  • Chore/update with supabase demo deploy button: #​52483
  • chore(examples): remove deprecated dependency from with-jest: #​56152
  • chore(examples): fix with-jest types: #​56193
  • (Examples) update Grafbase example: #​54705
  • fix: typo in with-stripe-typescript example: #​56274
Misc Changes
Credits

Huge thanks to @​balazsorban44, @​sdkdeepa, @​aayman997, @​mayank1513, @​timneutkens, @​2XG-DEV, @​eliot-akira, @​hi-matthew, @​riobits, @​wbinnssmith, @​ijjk, @​sokra, @​dvoytenko, @​rishabhpoddar, @​manovotny, @​A7med3bdulBaset, @​huozhi, @​jridgewell, @​joulev, @​SukkaW, @​kdy1, @​feedthejim, @​Fredkiss3, @​styfle, @​MildTomato, @​ForsakenHarmony, @​walfly, @​bzhn, @​shuding, @​boylett, @​Loki899899, @​devrsi0n, @​ImBIOS, @​vinaykulk621, @​ztanner, @​sdaigo, @​hamirmahal, @​blurrah, @​omarmciver, and @​alexBaizeau for helping!

v13.5.3

Compare Source

v13.5.2

Compare Source

Core Changes
Documentation Changes
  • create-next-app templates: Change bun run dev commands to bun dev: #​55603
  • docs: move optimizePackageImports to experimental: #​55614
  • fix(docs): internationalization middleware example: #​55645
Example Changes
  • fix: examples/with-fauna/package.json to reduce vulnerabilities: #​55594
  • fix: examples/with-grafbase/package.json to reduce vulnerabilities: #​55593
  • chore(examples): upgrade next-translate dependencies: #​55637
Misc Changes
  • chore: run repro validation only on bug reports: #​55610
  • Run unit tests in a separate job: #​55621
  • Run unit tests in a single job run: #​55625
Credits

Huge thanks to @​padmaia, @​mayank1513, @​jakeboone02, @​balazsorban44, @​kwonoj, @​huozhi, @​Yovach, @​ztanner, @​wyattjoh, @​GabenGar, @​timneutkens, and @​shuding for helping!

v13.5.1

Compare Source

Core Changes
  • Update font data: #​54257
  • add experimental https support to next dev: #​54016
  • Fix emotion-js transform for server components: #​54284
  • Handle basePath for redirect(): #​54277
  • Remove unused array in router-server: #​54278
  • app-router: tweak prefetch cache status heuristics: #​53864
  • Adds nonce to preinit scripts: #​54059
  • Fix default export of server action utility aliases: #​54254
  • fix: improve error message when output: export in app router: #​54202
  • ci(trace): allow to opt in to upload full trace: #​54347
  • fix: server actions blocking navigation events: #​54307
  • Skip getStaticPaths check for non-dynamic app routes: #​54351
  • OpenTel: ensure that exceptions are recorded on an active span: #​54131
  • Testmode: intercept rewrite fetches: #​54259
  • Polyfill Array.prototype.at: #​44436
  • Fix missing locale info for middleware data request: #​54357
  • fix: minimum node version 16.14.0: #​54331
  • Merge app renderer process: #​54143
  • Fix data route ordering in dev: #​54364
  • fix(app): enable React Strict Mode by default: #​53375
  • Fix swc compiling of client components when directive appears later than exports: #​54392
  • Upgrade vendored react: #​54399
  • Code clean up: #​54405
  • Upgrade precompiled ua-parser-js: #​54404
  • Fix compilation of next/dynamic with ssr: false in App Router: #​54411
  • refactor: Use swc AST to determine use client and server directives: #​54358
  • Fix not found css not being preloaded while navigation: #​53906
  • Optimize webpack memory cache garbage collection: #​54397
  • Use push for Server Action redirections: #​54458
  • Decreased watchpack aggregate timeout: #​54461
  • Generate prefetch RSC paylod during build for SSR paths: #​54403
  • remove HMR polling in favor of more targeted events: #​54406
  • Trace upload fixup: #​54455
  • fix: custom incremental cache handlers should work when transpiled: #​54472
  • upgrade Edge Runtime dependency: #​54489
  • fix infinite navigate events when Promise is proxied: #​54394
  • Implement named_import_transform: #​54530
  • fix resolve routes behavior when matching a dynamic segment: #​54539
  • Turbopack: add edge support for pages apis: #​54449
  • chore(eslint): bump ESLint plugins: #​54490
  • Skip copying signal field for revalidate: #​54533
  • Fix missing new line for certain logs: #​54442
  • update turbopack: #​54558
  • fix(DX): More precise error messages for export const config deprecation: #​54492
  • Revert "Decreased watchpack aggregate timeout": #​54515
  • Forms and mutations docs.: #​54314
  • optimize_barrel SWC transform and new optimizePackageImports config: #​54572
  • Reuse edgeConditionNames variable: #​54594
  • Update font data: #​54585
  • Add cleanup logic to worker.ts: #​54500
  • chore: add extra error info for rsc info helper: #​54609
  • Fix router CPU profiling: #​54497
  • Turbopack: add middleware support for next.rs api dev mode: #​54555
  • Rename hot-reloader to hot-reloader-webpack: #​54628
  • Implement hot-reloader interface: #​54629
  • Remove this as any cases: #​54642
  • Implement hot reloader interface for Turbopack: #​54632
  • Fix weight values above 900 not working with Google Fonts: #​54339
  • add support for app pages to next.rs api: #​54668
  • Remove unused cssnano-simple file: #​54658
  • File Reader Improvements: #​54645
  • Add new permanentRedirect function in App Router: #​54047
  • Default app router not found : #​54199
  • Cleanup of /_next/data handling in server: #​54689
  • Trace uploader: fix git binary on windows: #​54580
  • fix(next/image): import error preload is not exported from react-dom: #​54688
  • turbopack: should only create _not-found when path_prefix is root: #​54687
  • fix app routes: #​54701
  • refactor: share utils and optimize segments normalization: #​54611
  • Improve barrel optimizer with loader caching and wilcard exports: #​54695
  • Move getBabelConfigFile to separate file: #​54716
  • Reimplement getBabelConfigFile to be simpler: #​54741
  • Fix memory watcher reboot: #​54760
  • Misc Typescript updates: #​54734
  • Fix unexpected full hmr reload when editing _app: #​54690
  • update turbopack: #​54768
  • Use variable for common isNodeOrEdgeCompilation condition: #​54763
  • Turbopack: Implement HMR in next-api : #​54772
  • Add @visx/visx to the import optimization list: #​54778
  • Remove experimental.appDir as it's stable: #​54785
  • Short circut 404's for /favicon.ico in development: #​54747
  • Remove additional appDir checks: #​54788
  • Remove experimental.pageEnv: #​54789
  • Update list of Next.js options in next.rs: [#​54798](https://redirec

Configuration

📅 Schedule: Branch creation - "" (UTC), Automerge - At any time (no schedule defined).

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

Copy link

github-actions bot commented Aug 1, 2024

Coverage Report

Status Category Percentage Covered / Total
🔵 Lines 17.04% 5631 / 33045
🔵 Statements 17.04% 5631 / 33045
🔵 Functions 6.3% 33 / 523
🔵 Branches 37.01% 134 / 362
File CoverageNo changed files found.
Generated in workflow #6974 for commit 59109d3 by the Vitest Coverage Report Action

@renovate renovate bot force-pushed the renovate/npm-next-vulnerability branch from 04e0a6f to 64f6544 Compare October 15, 2024 08:49
@renovate renovate bot changed the title ⬆️ Update dependency next to v14 [SECURITY] ⬆️ Update dependency next to v14 [SECURITY] - autoclosed Dec 8, 2024
@renovate renovate bot closed this Dec 8, 2024
@renovate renovate bot deleted the renovate/npm-next-vulnerability branch December 8, 2024 18:35
@renovate renovate bot changed the title ⬆️ Update dependency next to v14 [SECURITY] - autoclosed ⬆️ Update dependency next to v14 [SECURITY] Dec 8, 2024
@renovate renovate bot reopened this Dec 8, 2024
@renovate renovate bot force-pushed the renovate/npm-next-vulnerability branch from b10577c to 64f6544 Compare December 8, 2024 19:10
@renovate renovate bot force-pushed the renovate/npm-next-vulnerability branch from 64f6544 to 59109d3 Compare December 17, 2024 17:42
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.

0 participants