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

⬆️ upgrade next to v14 [SECURITY] #116

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

Conversation

renovate[bot]
Copy link
Contributor

@renovate renovate bot commented Sep 25, 2024

This PR contains the following updates:

Package Change Age Adoption Passing Confidence
next (source) ^12.0.8 -> ^14.0.0 age adoption passing confidence

GitHub Vulnerability Alerts

CVE-2022-21721

Impact

Vulnerable code could allow a bad actor to trigger a denial of service attack for anyone running a Next.js app at version >= 12.0.0, and using i18n functionality.

  • Affected: All of the following must be true to be affected by this CVE
    • Next.js versions above v12.0.0
    • Using next start or a custom server
    • Using the built-in i18n support
  • Not affected:
    • Deployments on Vercel (vercel.com) are not affected along with similar environments where invalid requests are filtered before reaching Next.js.

Patches

A patch has been released, next@12.0.9, that mitigates this issue. We recommend all affected users upgrade as soon as possible.

Workarounds

We recommend upgrading whether you can reproduce or not although you can ensure /${locale}/_next/ is blocked from reaching the Next.js instance until you upgrade.

For more information

If you have any questions or comments about this advisory:

CVE-2022-23646

Next.js is a React framework. Starting with version 10.0.0 and prior to version 12.1.0, Next.js is vulnerable to User Interface (UI) Misrepresentation of Critical Information. In order to be affected, the next.config.js file must have an images.domains array assigned and the image host assigned in images.domains must allow user-provided SVG. If the next.config.js file has images.loader assigned to something other than default, the instance is not affected. Version 12.1.0 contains a patch for this issue. As a workaround, change next.config.js to use a different loader configuration other than the default.

Impact

  • Affected: All of the following must be true to be affected
    • Next.js between version 10.0.0 and 12.0.10
    • The next.config.js file has images.domains array assigned
    • The image host assigned in images.domains allows user-provided SVG
  • Not affected: The next.config.js file has images.loader assigned to something other than default

Patches

Next.js 12.1.0

Workarounds

Change next.config.js to use a different loader configuration other than the default, for example:

module.exports = {
  images: {
    loader: 'imgix',
    path: 'https://example.com/myaccount/',
  },
}

Or if you want to use the loader prop on the component, you can use custom:

module.exports = {
  images: {
    loader: 'custom',
  },
}

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-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-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](https://redirect.github.com/vercel/next.

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.

@renovate renovate bot added the dependencies Pull requests that update a dependency file label Sep 25, 2024
Copy link

vercel bot commented Sep 25, 2024

The latest updates on your projects. Learn more about Vercel for Git ↗︎

Name Status Preview Comments Updated (UTC)
onruntime-website ❌ Failed (Inspect) Oct 15, 2024 10:33am

@renovate renovate bot changed the title ⬆️ upgrade next to v13 [SECURITY] ⬆️ upgrade next to v13 [SECURITY] - autoclosed Sep 25, 2024
@renovate renovate bot closed this Sep 25, 2024
@renovate renovate bot deleted the renovate/npm-next-vulnerability branch September 25, 2024 17:13
@renovate renovate bot changed the title ⬆️ upgrade next to v13 [SECURITY] - autoclosed ⬆️ upgrade next to v13 [SECURITY] Sep 26, 2024
@renovate renovate bot reopened this Sep 26, 2024
@renovate renovate bot restored the renovate/npm-next-vulnerability branch September 26, 2024 22:36
@renovate renovate bot force-pushed the renovate/npm-next-vulnerability branch from 59c92de to 06b3b91 Compare September 26, 2024 22:37
@renovate renovate bot force-pushed the renovate/npm-next-vulnerability branch from 06b3b91 to f214498 Compare October 15, 2024 00:42
@renovate renovate bot changed the title ⬆️ upgrade next to v13 [SECURITY] ⬆️ upgrade next to v14 [SECURITY] Oct 15, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
dependencies Pull requests that update a dependency file
Projects
None yet
Development

Successfully merging this pull request may close these issues.

0 participants