{"api_version":"1","generated_at":"2026-11-13T23:06:25+00:00","cve":"CVE-2026-128122","urls":{"html":"https://cve.report/CVE-2026-128122","api":"https://cve.report/api/cve/CVE-2026-128122.json","docs":"https://cve.report/api","cve_org":"https://www.cve.org/CVERecord?id=CVE-2026-128122","nvd":"https://nvd.nist.gov/vuln/detail/CVE-2026-128122"},"summary":{"title":"SvelteKit: Prerendered redirect paths can inject arbitrary rules into the `_redirects` file generated by `@sveltejs/adapter-cloudflare`","description":"SvelteKit is a framework for rapidly developing robust, performant web applications using Svelte. From version 4.7.0 until versions 7.2.10 and 8.0.2, @sveltejs/adapter-cloudflare allowed an attacker-influenced link crawled during prerendering to place whitespace, control characters, wildcards, or placeholders into a prerendered redirect path. The adapter wrote those paths into the Cloudflare _redirects output without output-context validation, allowing a path to create unintended routing rules that could redirect or expose requests beyond the intended prerendered route. This issue is fixed in 7.2.10 and 8.0.2.","state":"PUBLISHED","assigner":"GitHub_M","published_at":"2026-11-13 20:18:57","updated_at":"2026-11-13 22:14:15"},"problem_types":["CWE-79","CWE-93","CWE-116","CWE-79 CWE-79: Improper Neutralization of Input During Web Page Generation","CWE-93 CWE-93: Improper Neutralization of CRLF Sequences","CWE-116 CWE-116: Improper Encoding or Escaping of Output"],"metrics":[{"version":"3.1","source":"security-advisories@github.com","type":"Secondary","score":"5.9","severity":"MEDIUM","vector":"CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:N/A:N","data":{"version":"3.1","vectorString":"CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:N/A:N","baseScore":5.9,"baseSeverity":"MEDIUM","attackVector":"NETWORK","attackComplexity":"HIGH","privilegesRequired":"NONE","userInteraction":"NONE","scope":"UNCHANGED","confidentialityImpact":"HIGH","integrityImpact":"NONE","availabilityImpact":"NONE"}},{"version":"3.1","source":"CNA","type":"DECLARED","score":"5.9","severity":"MEDIUM","vector":"CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:N/A:N","data":{"attackComplexity":"HIGH","attackVector":"NETWORK","availabilityImpact":"NONE","baseScore":5.9,"baseSeverity":"MEDIUM","confidentialityImpact":"HIGH","integrityImpact":"NONE","privilegesRequired":"NONE","scope":"UNCHANGED","userInteraction":"NONE","vectorString":"CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:N/A:N","version":"3.1"}}],"references":[{"url":"https://github.com/sveltejs/kit/commit/0a2e58cbccdd46cac20aa5af4e2edf17e0da11dd","name":"https://github.com/sveltejs/kit/commit/0a2e58cbccdd46cac20aa5af4e2edf17e0da11dd","refsource":"security-advisories@github.com","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://github.com/sveltejs/kit/releases/tag/@sveltejs/adapter-cloudflare@7.2.10","name":"https://github.com/sveltejs/kit/releases/tag/@sveltejs/adapter-cloudflare@7.2.10","refsource":"security-advisories@github.com","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://github.com/sveltejs/kit/pull/17620","name":"https://github.com/sveltejs/kit/pull/17620","refsource":"security-advisories@github.com","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://github.com/sveltejs/kit/commit/679e0d84ea9951bb4f1e458a599066b5a451b08a","name":"https://github.com/sveltejs/kit/commit/679e0d84ea9951bb4f1e458a599066b5a451b08a","refsource":"security-advisories@github.com","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://github.com/sveltejs/kit/security/advisories/GHSA-5wg4-q3ww-283h","name":"https://github.com/sveltejs/kit/security/advisories/GHSA-5wg4-q3ww-283h","refsource":"security-advisories@github.com","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://github.com/sveltejs/kit/releases/tag/@sveltejs/adapter-cloudflare@8.0.2","name":"https://github.com/sveltejs/kit/releases/tag/@sveltejs/adapter-cloudflare@8.0.2","refsource":"security-advisories@github.com","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://www.cve.org/CVERecord?id=CVE-2026-128122","name":"CVE Program record","refsource":"CVE.ORG","tags":["canonical"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-128122","name":"NVD vulnerability detail","refsource":"NVD","tags":["canonical","analysis"]}],"affected":[{"source":"CNA","vendor":"sveltejs","product":"kit","version":"affected >= 4.7.0, < 7.2.10","platforms":[]},{"source":"CNA","vendor":"sveltejs","product":"kit","version":"affected >= 8.0.0-next.0, < 8.0.2","platforms":[]}],"timeline":[],"solutions":[],"workarounds":[],"exploits":[],"credits":[],"nvd_cpes":[],"vendor_comments":[],"enrichments":{"kev":null,"epss":null,"legacy_qids":[]},"source_records":{"cve_program":{"containers":{"cna":{"affected":[{"product":"kit","vendor":"sveltejs","versions":[{"status":"affected","version":">= 4.7.0, < 7.2.10"},{"status":"affected","version":">= 8.0.0-next.0, < 8.0.2"}]}],"descriptions":[{"lang":"en","value":"SvelteKit is a framework for rapidly developing robust, performant web applications using Svelte. From version 4.7.0 until versions 7.2.10 and 8.0.2, @sveltejs/adapter-cloudflare allowed an attacker-influenced link crawled during prerendering to place whitespace, control characters, wildcards, or placeholders into a prerendered redirect path. The adapter wrote those paths into the Cloudflare _redirects output without output-context validation, allowing a path to create unintended routing rules that could redirect or expose requests beyond the intended prerendered route. This issue is fixed in 7.2.10 and 8.0.2."}],"metrics":[{"cvssV3_1":{"attackComplexity":"HIGH","attackVector":"NETWORK","availabilityImpact":"NONE","baseScore":5.9,"baseSeverity":"MEDIUM","confidentialityImpact":"HIGH","integrityImpact":"NONE","privilegesRequired":"NONE","scope":"UNCHANGED","userInteraction":"NONE","vectorString":"CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:N/A:N","version":"3.1"}}],"problemTypes":[{"descriptions":[{"cweId":"CWE-79","description":"CWE-79: Improper Neutralization of Input During Web Page Generation","lang":"en","type":"CWE"}]},{"descriptions":[{"cweId":"CWE-93","description":"CWE-93: Improper Neutralization of CRLF Sequences","lang":"en","type":"CWE"}]},{"descriptions":[{"cweId":"CWE-116","description":"CWE-116: Improper Encoding or Escaping of Output","lang":"en","type":"CWE"}]}],"providerMetadata":{"dateUpdated":"2026-11-13T19:47:28.720Z","orgId":"a0819718-46f1-4df5-94e2-005712e83aaa","shortName":"GitHub_M"},"references":[{"name":"https://github.com/sveltejs/kit/security/advisories/GHSA-5wg4-q3ww-283h","tags":["x_refsource_CONFIRM"],"url":"https://github.com/sveltejs/kit/security/advisories/GHSA-5wg4-q3ww-283h"},{"name":"https://github.com/sveltejs/kit/pull/17620","tags":["x_refsource_MISC"],"url":"https://github.com/sveltejs/kit/pull/17620"},{"name":"https://github.com/sveltejs/kit/commit/0a2e58cbccdd46cac20aa5af4e2edf17e0da11dd","tags":["x_refsource_MISC"],"url":"https://github.com/sveltejs/kit/commit/0a2e58cbccdd46cac20aa5af4e2edf17e0da11dd"},{"name":"https://github.com/sveltejs/kit/commit/679e0d84ea9951bb4f1e458a599066b5a451b08a","tags":["x_refsource_MISC"],"url":"https://github.com/sveltejs/kit/commit/679e0d84ea9951bb4f1e458a599066b5a451b08a"},{"name":"https://github.com/sveltejs/kit/releases/tag/@sveltejs/adapter-cloudflare@7.2.10","tags":["x_refsource_MISC"],"url":"https://github.com/sveltejs/kit/releases/tag/@sveltejs/adapter-cloudflare@7.2.10"},{"name":"https://github.com/sveltejs/kit/releases/tag/@sveltejs/adapter-cloudflare@8.0.2","tags":["x_refsource_MISC"],"url":"https://github.com/sveltejs/kit/releases/tag/@sveltejs/adapter-cloudflare@8.0.2"}],"source":{"advisory":"GHSA-5wg4-q3ww-283h","discovery":"UNKNOWN"},"title":"SvelteKit: Prerendered redirect paths can inject arbitrary rules into the `_redirects` file generated by `@sveltejs/adapter-cloudflare`"}},"cveMetadata":{"assignerOrgId":"a0819718-46f1-4df5-94e2-005712e83aaa","assignerShortName":"GitHub_M","cveId":"CVE-2026-128122","datePublished":"2026-11-13T19:47:28.720Z","dateReserved":"2026-11-12T22:42:47.031Z","dateUpdated":"2026-11-13T19:47:28.720Z","state":"PUBLISHED"},"dataType":"CVE_RECORD","dataVersion":"5.2"},"nvd":{"publishedDate":"2026-11-13 20:18:57","lastModifiedDate":"2026-11-13 22:14:15","problem_types":["CWE-79","CWE-93","CWE-116","CWE-79 CWE-79: Improper Neutralization of Input During Web Page Generation","CWE-93 CWE-93: Improper Neutralization of CRLF Sequences","CWE-116 CWE-116: Improper Encoding or Escaping of Output"],"metrics":{"cvssMetricV31":[{"source":"security-advisories@github.com","type":"Secondary","cvssData":{"version":"3.1","vectorString":"CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:N/A:N","baseScore":5.9,"baseSeverity":"MEDIUM","attackVector":"NETWORK","attackComplexity":"HIGH","privilegesRequired":"NONE","userInteraction":"NONE","scope":"UNCHANGED","confidentialityImpact":"HIGH","integrityImpact":"NONE","availabilityImpact":"NONE"},"exploitabilityScore":2.2,"impactScore":3.6}]},"configurations":[]},"legacy_mitre":{"record":{"CveYear":"2026","CveId":"128122","Ordinal":"1","Title":"SvelteKit: Prerendered redirect paths can inject arbitrary rules","CVE":"CVE-2026-128122","Year":"2026"},"notes":[{"CveYear":"2026","CveId":"128122","Ordinal":"1","NoteData":"SvelteKit is a framework for rapidly developing robust, performant web applications using Svelte. From version 4.7.0 until versions 7.2.10 and 8.0.2, @sveltejs/adapter-cloudflare allowed an attacker-influenced link crawled during prerendering to place whitespace, control characters, wildcards, or placeholders into a prerendered redirect path. The adapter wrote those paths into the Cloudflare _redirects output without output-context validation, allowing a path to create unintended routing rules that could redirect or expose requests beyond the intended prerendered route. This issue is fixed in 7.2.10 and 8.0.2.","Type":"Description","Title":"SvelteKit: Prerendered redirect paths can inject arbitrary rules"}]}}}