[Security] Bump @sentry/nextjs from 8.47.0 to 8.49.0
Bumps @sentry/nextjs from 8.47.0 to 8.49.0. This update includes a security fix.
Vulnerabilities fixed
Potential DoS when using ContextLines integration
Impact
The ContextLines integration uses readable streams to more efficiently use memory when reading files. The ContextLines integration is used to attach source context to outgoing events.
The stream was not explicitly closed after use. This could lead to excessive amounts of file handles open on the system and potentially lead to a Denial of Service (DoS).
The ContextLines integration is enabled by default in the Node SDK (
@sentry/node
) and SDKs that run in Node.js environments (@sentry/astro
,@sentry/aws-serverless
,@sentry/bun
,@sentry/google-cloud-serverless
,@sentry/nestjs
,@sentry/nextjs
,@sentry/nuxt
,@sentry/remix
,@sentry/solidstart
,@sentry/sveltekit
).Patches
Users should upgrade to version
8.49.0
or higher.Workarounds
To remediate this issue in affected versions without upgrading to version
8.49.0
and above you can disable the ContextLines integration. See the docs for more details.Sentry.init({ // ... integrations: function (integrations) { // integrations will be all default integrations </tr></table>
... (truncated)
Patched versions: 8.49.0 Affected versions: >= 8.10.0, < 8.49.0
Release notes
Sourced from @sentry/nextjs
's releases.
8.49.0
- feat(v8/browser): Flush offline queue on flush and browser online event (#14969)
- feat(v8/react): Add a
handled
prop to ErrorBoundary (#14978)- fix(profiling/v8): Don't put
require
,__filename
and__dirname
on global object (#14952)- fix(v8/node): Enforce that ContextLines integration does not leave open file handles (#14997)
- fix(v8/replay): Disable mousemove sampling in rrweb for iOS browsers (#14944)
- fix(v8/sveltekit): Ensure source maps deletion is called after source ma… (#14963)
- fix(v8/vue): Re-throw error when no errorHandler exists (#14943)
Work in this release was contributed by
@HHK1
and@mstrokin
. Thank you for your contribution!Bundle size
📦
Path Size @sentry/browser
23.29 KB @sentry/browser
- with treeshaking flags21.96 KB @sentry/browser
(incl. Tracing)35.85 KB @sentry/browser
(incl. Tracing, Replay)73.19 KB @sentry/browser
(incl. Tracing, Replay) - with treeshaking flags63.58 KB @sentry/browser
(incl. Tracing, Replay with Canvas)77.5 KB @sentry/browser
(incl. Tracing, Replay, Feedback)89.44 KB @sentry/browser
(incl. Feedback)39.5 KB @sentry/browser
(incl. sendFeedback)27.89 KB @sentry/browser
(incl. FeedbackAsync)32.69 KB @sentry/react
25.97 KB @sentry/react
(incl. Tracing)38.67 KB @sentry/vue
27.57 KB @sentry/vue
(incl. Tracing)37.71 KB @sentry/svelte
23.45 KB CDN Bundle 24.49 KB CDN Bundle (incl. Tracing) 37.56 KB CDN Bundle (incl. Tracing, Replay) 72.84 KB CDN Bundle (incl. Tracing, Replay, Feedback) 78.2 KB CDN Bundle - uncompressed 71.93 KB CDN Bundle (incl. Tracing) - uncompressed 111.42 KB CDN Bundle (incl. Tracing, Replay) - uncompressed 225.68 KB CDN Bundle (incl. Tracing, Replay, Feedback) - uncompressed 238.78 KB @sentry/nextjs
(client)38.92 KB @sentry/sveltekit
(client)36.36 KB @sentry/node
162.82 KB @sentry/node
- without tracing98.95 KB @sentry/aws-serverless
126.65 KB 8.48.0
Deprecations
feat(v8/core): Deprecate
getDomElement
method (#14799)Deprecates
getDomElement
. There is no replacement.
... (truncated)
Changelog
Sourced from @sentry/nextjs
's changelog.
8.49.0
- feat(v8/browser): Flush offline queue on flush and browser online event (#14969)
- feat(v8/react): Add a
handled
prop to ErrorBoundary (#14978)- fix(profiling/v8): Don't put
require
,__filename
and__dirname
on global object (#14952)- fix(v8/node): Enforce that ContextLines integration does not leave open file handles (#14997)
- fix(v8/replay): Disable mousemove sampling in rrweb for iOS browsers (#14944)
- fix(v8/sveltekit): Ensure source maps deletion is called after source ma… (#14963)
- fix(v8/vue): Re-throw error when no errorHandler exists (#14943)
Work in this release was contributed by
@HHK1
and@mstrokin
. Thank you for your contributions!8.48.0
Deprecations
feat(v8/core): Deprecate
getDomElement
method (#14799)Deprecates
getDomElement
. There is no replacement.Other changes
- fix(nestjs/v8): Use correct main/module path in package.json (#14791)
- fix(v8/core): Use consistent
continueTrace
implementation in core (#14819)- fix(v8/node): Correctly resolve debug IDs for ANR events with custom appRoot (#14823)
- fix(v8/node): Ensure
NODE_OPTIONS
is not passed to worker threads (#14825)- fix(v8/angular): Fall back to element
tagName
when name is not provided toTraceDirective
(#14828)- fix(aws-lambda): Remove version suffix from lambda layer (#14843)
- fix(v8/node): Ensure express requests are properly handled (#14851)
- feat(v8/node): Add
openTelemetrySpanProcessors
option (#14853)- fix(v8/react): Use
Set
as theallRoutes
container. (#14878) (#14884)- fix(v8/react): Improve handling of routes nested under path="/" (#14897)
- feat(v8/core): Add
normalizedRequest
tosamplingContext
(#14903)- fix(v8/feedback): Avoid lazy loading code for
syncFeedbackIntegration
(#14918)Work in this release was contributed by
@arturovt
. Thank you for your contribution!
Commits
-
db51933
release: 8.49.0 -
629fba2
meta(changelog): Update CHANGELOG for 8.49.0 (#15019) -
f5ac627
fix(v8/node): Enforce that ContextLines integration does not leave open file ... -
286f6b0
test(v8/e2e): Fix node-express test transitive dependency (#15004) -
798a932
feat(v8/browser): Flush offline queue on flush and browser online event (#14969) -
0c3b2a4
fix(v8/replay): Disable mousemove sampling in rrweb for iOS browsers (#14944) -
fda1aee
feat(v8/react): Add ahandled
prop to ErrorBoundary (#14978) -
5182853
chore(v8/repo): Add missing v7 changelog entries (#14961) -
af00c8f
fix(v8/sveltekit): Ensure source maps deletion is called after source ma… (#1... -
8926cb7
fix(v8/vue): Re-throw error when no errorHandler exists (#14943) - Additional commits viewable in compare view