[Security] Bump @sentry/nextjs from 7.55.2 to 7.77.0
Bumps @sentry/nextjs from 7.55.2 to 7.77.0. This update includes a security fix.
Vulnerabilities fixed
Sentry Next.js vulnerable to SSRF via Next.js SDK tunnel endpoint
Impact
An unsanitized input of Next.js SDK tunnel endpoint allows sending HTTP requests to arbitrary URLs and reflecting the response back to the user. This could open door for other attack vectors:
- client-side vulnerabilities: XSS/CSRF in the context of the trusted domain;
- interaction with internal network;
- read cloud metadata endpoints (AWS, Azure, Google Cloud, etc.);
- local/remote port scan.
This issue only affects users who have Next.js SDK tunneling feature enabled.
Patches
The problem has been fixed in sentry/nextjs@7.77.0
Workarounds
Disable tunneling by removing the
tunnelRoute
option from Sentry Next.js SDK config —next.config.js
ornext.config.mjs
.References
... (truncated)
Patched versions: 7.77.0 Affected versions: >= 7.26.0, < 7.77.0
Release notes
Sourced from @sentry/nextjs
's releases.
7.77.0
Security Fixes
- fix(nextjs): Match only numbers as orgid in tunnelRoute (#9416) (CVE-2023-46729)
- fix(nextjs): Strictly validate tunnel target parameters (#9415) (CVE-2023-46729)
Other Changes
- feat: Move LinkedErrors integration to
@sentry/core
(#9404)- feat(remix): Update sentry-cli version to ^2.21.2 (#9401)
- feat(replay): Allow to treeshake & configure compression worker URL (#9409)
- fix(angular-ivy): Adjust package entry points to support Angular 17 with SSR config (#9412)
- fix(feedback): Fixing feedback import (#9403)
- fix(utils): Avoid keeping a reference of last used event (#9387)
Bundle size
📦
Path Size @sentry/browser
(incl. Tracing, Replay) - Webpack (gzipped)77.46 KB @sentry/browser
(incl. Tracing, Replay) - Webpack with treeshaking flags (gzipped)56.69 KB @sentry/browser
(incl. Tracing) - Webpack (gzipped)30.97 KB @sentry/browser
- Webpack (gzipped)21.29 KB @sentry/browser
(incl. Tracing, Replay) - ES6 CDN Bundle (gzipped)67.83 KB @sentry/browser
(incl. Tracing) - ES6 CDN Bundle (gzipped)29.09 KB @sentry/browser
- ES6 CDN Bundle (gzipped)21.23 KB @sentry/browser
(incl. Tracing, Replay) - ES6 CDN Bundle (minified & uncompressed)216.89 KB @sentry/browser
(incl. Tracing) - ES6 CDN Bundle (minified & uncompressed)88.28 KB @sentry/browser
- ES6 CDN Bundle (minified & uncompressed)63.28 KB @sentry/browser
(incl. Tracing) - ES5 CDN Bundle (gzipped)31.8 KB @sentry/react
(incl. Tracing, Replay) - Webpack (gzipped)77.84 KB @sentry/react
- Webpack (gzipped)21.34 KB @sentry/nextjs
Client (incl. Tracing, Replay) - Webpack (gzipped)94.18 KB @sentry/nextjs
Client - Webpack (gzipped)47.86 KB 7.76.0
Important Changes
- feat(core): Add cron monitor wrapper helper (#9395)
This release adds
Sentry.withMonitor()
, a wrapping function that wraps a callback with a cron monitor that will automatically report completions and failures:import * as Sentry from '@sentry/node'; // withMonitor() will send checkin when callback is started/finished // works with async and sync callbacks. const result = Sentry.withMonitor( 'dailyEmail', () => { </tr></table>
... (truncated)
Changelog
Sourced from @sentry/nextjs
's changelog.
7.77.0
Security Fixes
- fix(nextjs): Match only numbers as orgid in tunnelRoute (#9416) (CVE-2023-46729)
- fix(nextjs): Strictly validate tunnel target parameters (#9415) (CVE-2023-46729)
Other Changes
- feat: Move LinkedErrors integration to
@sentry/core
(#9404)- feat(remix): Update sentry-cli version to ^2.21.2 (#9401)
- feat(replay): Allow to treeshake & configure compression worker URL (#9409)
- fix(angular-ivy): Adjust package entry points to support Angular 17 with SSR config (#9412)
- fix(feedback): Fixing feedback import (#9403)
- fix(utils): Avoid keeping a reference of last used event (#9387)
7.76.0
Important Changes
- feat(core): Add cron monitor wrapper helper (#9395)
This release adds
Sentry.withMonitor()
, a wrapping function that wraps a callback with a cron monitor that will automatically report completions and failures:import * as Sentry from '@sentry/node'; // withMonitor() will send checkin when callback is started/finished // works with async and sync callbacks. const result = Sentry.withMonitor( 'dailyEmail', () => { // withCheckIn return value is same return value here return sendEmail(); }, // Optional upsert options { schedule: { type: 'crontab', value: '0 * * * *', }, // 🇨🇦🫡 timezone: 'Canada/Eastern', }, );
Other Changes
- chore(angular-ivy): Allow Angular 17 in peer dependencies (#9386)
... (truncated)
Commits
-
a807adf
release: 7.77.0 -
cf4df75
Merge pull request #9417 from getsentry/prepare-release/7.77.0 -
3e619dc
meta: Update CHANGELOG for 7.77.0 -
8285f54
fix(nextjs): Match only numbers as orgid in tunnelRoute (#9416) -
2ec3582
feat(replay): Allow to treeshake & configure compression worker URL (#9409) -
1005925
fix(angular-ivy): Adjust package entry points to support Angular 17 with SSR ... -
a8cf899
ref(replay): Streamline rrweb internal error check (#9391) -
ddbda3c
fix(nextjs): Strictly validate tunnel target parameters (#9415) -
4371b2c
build: Clean ember and deno packages properly (#9411) -
89a4d42
feat: Move LinkedErrors integration to@sentry/core
(#9404) - Additional commits viewable in compare view