[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.0or higher.Workarounds
To remediate this issue in affected versions without upgrading to version
8.49.0and 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
handledprop to ErrorBoundary (#14978)- fix(profiling/v8): Don't put
require,__filenameand__dirnameon 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
@HHK1and@mstrokin. Thank you for your contribution!Bundle size
📦
Path Size @sentry/browser23.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/react25.97 KB @sentry/react(incl. Tracing)38.67 KB @sentry/vue27.57 KB @sentry/vue(incl. Tracing)37.71 KB @sentry/svelte23.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/node162.82 KB @sentry/node- without tracing98.95 KB @sentry/aws-serverless126.65 KB 8.48.0
Deprecations
feat(v8/core): Deprecate
getDomElementmethod (#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
handledprop to ErrorBoundary (#14978)- fix(profiling/v8): Don't put
require,__filenameand__dirnameon 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
@HHK1and@mstrokin. Thank you for your contributions!8.48.0
Deprecations
feat(v8/core): Deprecate
getDomElementmethod (#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
continueTraceimplementation in core (#14819)- fix(v8/node): Correctly resolve debug IDs for ANR events with custom appRoot (#14823)
- fix(v8/node): Ensure
NODE_OPTIONSis not passed to worker threads (#14825)- fix(v8/angular): Fall back to element
tagNamewhen 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
openTelemetrySpanProcessorsoption (#14853)- fix(v8/react): Use
Setas theallRoutescontainer. (#14878) (#14884)- fix(v8/react): Improve handling of routes nested under path="/" (#14897)
- feat(v8/core): Add
normalizedRequesttosamplingContext(#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
-
db51933release: 8.49.0 -
629fba2meta(changelog): Update CHANGELOG for 8.49.0 (#15019) -
f5ac627fix(v8/node): Enforce that ContextLines integration does not leave open file ... -
286f6b0test(v8/e2e): Fix node-express test transitive dependency (#15004) -
798a932feat(v8/browser): Flush offline queue on flush and browser online event (#14969) -
0c3b2a4fix(v8/replay): Disable mousemove sampling in rrweb for iOS browsers (#14944) -
fda1aeefeat(v8/react): Add ahandledprop to ErrorBoundary (#14978) -
5182853chore(v8/repo): Add missing v7 changelog entries (#14961) -
af00c8ffix(v8/sveltekit): Ensure source maps deletion is called after source ma… (#1... -
8926cb7fix(v8/vue): Re-throw error when no errorHandler exists (#14943) - Additional commits viewable in compare view