getsentry/sentry-javascript · Security
Sentry Next.js vulnerable to SSRF via Next.js SDK tunnel endpoint
- GHSA ID
- GHSA-2rmr-xw8m-22q9
- CVE ID
- CVE-2023-46729
- Severity
- medium
- Published
- Updated
- CVSS
- 6.1 · CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N
- CVSS v3
- 6.1 · CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N
Description
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/[email protected]
Workarounds
Disable tunneling by removing the tunnelRoute option from Sentry Next.js SDK config — next.config.js or next.config.mjs.
References
Credits
CWEs
- CWE-918 · Server-Side Request Forgery (SSRF)
References
- https://github.com/getsentry/sentry-javascript/security/advisories/GHSA-2rmr-xw8m-22q9 ↗
- https://github.com/getsentry/sentry-javascript/pull/9415 ↗
- https://github.com/getsentry/sentry-javascript/commit/ddbda3c02c35aba8c5235e0cf07fc5bf656f81be ↗
- https://blog.sentry.io/next-js-sdk-security-advisory-cve-2023-46729/ ↗
- https://docs.sentry.io/platforms/javascript/guides/nextjs/manual-setup/#configure-tunneling-to-avoid-ad-blockers ↗
- https://www.npmjs.com/package/@sentry/nextjs/v/7.77.0 ↗
- https://nvd.nist.gov/vuln/detail/CVE-2023-46729 ↗
- https://github.com/advisories/GHSA-2rmr-xw8m-22q9 ↗