{"id":"CVE-2024-23641","aliases":["GHSA-g5m6-hxpp-fc49"],"title":"Sending a GET or HEAD request with a body crashes SvelteKit","summary":"Sending a GET or HEAD request with a body crashes SvelteKit","severity":"high","cvss":7.5,"cwe":["CWE-20"],"vendor":"sveltejs","product":"@sveltejs/kit","ecosystem":"npm","affected":["@sveltejs/kit >= 2.0.0, < 2.4.3","@sveltejs/adapter-node >= 2.0.0, < 2.1.2","@sveltejs/adapter-node >= 3.0.0, < 3.0.3","@sveltejs/adapter-node = 4.0.0"],"patched":["@sveltejs/kit 2.4.3","@sveltejs/adapter-node 2.1.2","@sveltejs/adapter-node 3.0.3","@sveltejs/adapter-node 4.0.1"],"published":"2024-01-24","updated":"2026-10-18","sourceUpdated":"2026-10-18T14:58:25Z","source":"GHSA","sourceUrl":"https://github.com/advisories/GHSA-g5m6-hxpp-fc49","references":[{"url":"https://github.com/sveltejs/kit/security/advisories/GHSA-g5m6-hxpp-fc49"},{"url":"https://github.com/sveltejs/kit/commit/af34142631c876a7eb62ff81f71e8a3f90dafee9"},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2024-23641"},{"url":"https://github.com/advisories/GHSA-g5m6-hxpp-fc49"}],"tags":["ghsa","npm"],"epss":0.00764,"epssPercentile":0.5462,"ingestedAt":"2026-10-18T15:45:12.224Z","slug":"CVE-2024-23641","body":"## Overview\n\n### Summary\nIn SvelteKit 2 sending a GET request with a body eg `{}` to a SvelteKit app in preview or with `adapter-node` throws `Request with GET/HEAD method cannot have body.` and crashes the app.\n\n```\nnode:internal/deps/undici/undici:6066\n          throw new TypeError(\"Request with GET/HEAD method cannot have body.\");\n                ^\n\nTypeError: Request with GET/HEAD method cannot have body.\n    at new Request (node:internal/deps/undici/undici:6066:17)\n    at getRequest (file:///C:/Users/admin/Desktop/reproduction/node_modules/@sveltejs/kit/src/exports/node/index.js:107:9)\n    at file:///C:/Users/admin/Desktop/reproduction/node_modules/@sveltejs/kit/src/exports/vite/preview/index.js:181:26\n    at call (file:///C:/Users/admin/Desktop/reproduction/node_modules/vite/dist/node/chunks/dep-9A4-l-43.js:44795:7)\n    at next (file:///C:/Users/admin/Desktop/reproduction/node_modules/vite/dist/node/chunks/dep-9A4-l-43.js:44739:5)\n    at file:///C:/Users/admin/Desktop/reproduction/node_modules/@sveltejs/kit/src/exports/vite/preview/index.js:172:6\n    at call (file:///C:/Users/admin/Desktop/reproduction/node_modules/vite/dist/node/chunks/dep-9A4-l-43.js:44795:7)\n    at next (file:///C:/Users/admin/Desktop/reproduction/node_modules/vite/dist/node/chunks/dep-9A4-l-43.js:44739:5)\n    at file:///C:/Users/admin/Desktop/reproduction/node_modules/@sveltejs/kit/src/exports/vite/preview/index.js:211:27\n    at call (file:///C:/Users/admin/Desktop/reproduction/node_modules/vite/dist/node/chunks/dep-9A4-l-43.js:44795:7)\n\nNode.js v20.11.0\n```\n\n`TRACE` requests will also cause the app to crash. Prerendered pages and SvelteKit 1 apps are not affected.\n\n<!--\n### Details\n_Give all details on the vulnerability. Pointing to the incriminated source code is very helpful for the maintainer._\n-->\n### PoC\n<!-- _Complete instructions, including specific configuration details, to reproduce the vulnerability._ -->\nFirst do a fresh install of SvelteKit 2 with the example app. Typescript.\n\n1. `npm run build`\n2. `npm run preview`\n3. Go to http://localhost:4173 (works)\n4. curl -X GET -d \"{}\" http://localhost:4173/bye\n5. Application crashes and http://localhost:4173 is down\n\n### Impact\n<!-- _What kind of vulnerability is it? Who is impacted?_ -->\nDenial of Service for apps using `adapter-node`\n\n## Affected packages\n\n- `@sveltejs/kit >= 2.0.0, < 2.4.3`\n- `@sveltejs/adapter-node >= 2.0.0, < 2.1.2`\n- `@sveltejs/adapter-node >= 3.0.0, < 3.0.3`\n- `@sveltejs/adapter-node = 4.0.0`\n\n## Remediation\n\nUpgrade to a patched release:\n\n- `@sveltejs/kit 2.4.3`\n- `@sveltejs/adapter-node 2.1.2`\n- `@sveltejs/adapter-node 3.0.3`\n- `@sveltejs/adapter-node 4.0.1`","depth":"twilight","depthScore":41,"depthScoreParts":{"impact":41.3,"likelihood":0.2,"exploitation":0,"ransomware":0},"changes":[]}