{"schemaVersion":3,"id":"CVE-2025-49005","aliases":["CGA-2ww9-q7mp-6rvj","CGA-7r2x-hwv5-3h2w","CGA-g5hf-fc47-p86c","GHSA-r2fc-ccr8-96c4"],"status":"published","duplicateOf":null,"title":null,"description":"Next.js is a React framework for building full-stack web applications. In Next.js App Router from 15.3.0 to before 15.3.3 and Vercel CLI from 41.4.1 to 42.2.0, a cache poisoning vulnerability was found. The issue allowed page requests for HTML content to return a React Server Component (RSC) payload instead under certain conditions. When deployed to Vercel, this would only impact the browser cache, and would not lead to the CDN being poisoned. When self-hosted and deployed externally, this could lead to cache poisoning if the CDN does not properly distinguish between RSC / HTML in the cache keys. This issue has been resolved in Next.js 15.3.3.","dates":{"published":"2025-07-03T21:01:14.743Z","modified":"2025-07-08T14:34:12.642Z","reserved":null,"kevAdded":[],"kevDue":[]},"cvss":{"headline":{"score":3.7,"severity":"low","version":"3.1","versionLabel":"v3.1","source":"CVE.org","vector":"CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:L/A:N","computed":false,"selection":"backend-summary"},"metrics":[{"version":"3.1","versionLabel":"v3.1","source":"CVE.org","score":3.7,"severity":"low","vector":"CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:L/A:N","exploitability":null,"impact":null,"computed":false},{"version":"3.1","versionLabel":"v3.1","source":"OSV · Wolfi","score":3.7,"severity":"low","vector":"CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:L/A:N","exploitability":5.6,"impact":2.3,"computed":true},{"version":"3.1","versionLabel":"v3.1","source":"OSV · Npm","score":3.7,"severity":"low","vector":"CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:L/A:N","exploitability":5.6,"impact":2.3,"computed":true},{"version":"3.1","versionLabel":"v3.1","source":"OSV · Chainguard","score":3.7,"severity":"low","vector":"CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:L/A:N","exploitability":5.6,"impact":2.3,"computed":true},{"version":"3.1","versionLabel":"v3.1","source":"NVD","score":3.7,"severity":"low","vector":"CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:L/A:N","exploitability":null,"impact":null,"computed":false}]},"epss":{"probability":0.00491,"percentile":0.40936,"severity":"low","asOf":"2026-10-20T00:00:00.000Z","change":{"pp":0.068,"baselineDate":"2026-09-20T00:00:00.000Z","baselineScore":0.00423},"history":[{"date":"2026-09-14T00:00:00.000Z","score":0.00423,"percentile":null},{"date":"2026-09-15T00:00:00.000Z","score":0.00423,"percentile":null},{"date":"2026-09-16T00:00:00.000Z","score":0.00423,"percentile":null},{"date":"2026-09-17T00:00:00.000Z","score":0.00423,"percentile":null},{"date":"2026-09-18T00:00:00.000Z","score":0.00423,"percentile":null},{"date":"2026-09-19T00:00:00.000Z","score":0.00423,"percentile":null},{"date":"2026-09-20T00:00:00.000Z","score":0.00423,"percentile":null},{"date":"2026-09-21T00:00:00.000Z","score":0.00423,"percentile":null},{"date":"2026-09-22T00:00:00.000Z","score":0.00423,"percentile":null},{"date":"2026-09-23T00:00:00.000Z","score":0.00457,"percentile":null},{"date":"2026-09-24T00:00:00.000Z","score":0.00457,"percentile":null},{"date":"2026-09-25T00:00:00.000Z","score":0.00457,"percentile":null},{"date":"2026-09-26T00:00:00.000Z","score":0.00457,"percentile":null},{"date":"2026-09-27T00:00:00.000Z","score":0.00457,"percentile":null},{"date":"2026-09-28T00:00:00.000Z","score":0.00457,"percentile":null},{"date":"2026-09-29T00:00:00.000Z","score":0.00457,"percentile":null},{"date":"2026-09-30T00:00:00.000Z","score":0.00457,"percentile":null},{"date":"2026-10-01T00:00:00.000Z","score":0.00457,"percentile":null},{"date":"2026-10-02T00:00:00.000Z","score":0.00457,"percentile":null},{"date":"2026-10-03T00:00:00.000Z","score":0.00457,"percentile":null},{"date":"2026-10-04T00:00:00.000Z","score":0.00491,"percentile":null},{"date":"2026-10-05T00:00:00.000Z","score":0.00491,"percentile":null},{"date":"2026-10-06T00:00:00.000Z","score":0.00491,"percentile":null},{"date":"2026-10-07T00:00:00.000Z","score":0.00491,"percentile":null},{"date":"2026-10-08T00:00:00.000Z","score":0.00491,"percentile":null},{"date":"2026-10-09T00:00:00.000Z","score":0.00491,"percentile":null},{"date":"2026-10-10T00:00:00.000Z","score":0.00491,"percentile":null},{"date":"2026-10-11T00:00:00.000Z","score":0.00491,"percentile":null},{"date":"2026-10-12T00:00:00.000Z","score":0.00491,"percentile":null},{"date":"2026-10-13T00:00:00.000Z","score":0.00491,"percentile":null},{"date":"2026-10-14T00:00:00.000Z","score":0.00491,"percentile":null},{"date":"2026-10-15T00:00:00.000Z","score":0.00491,"percentile":null},{"date":"2026-10-16T00:00:00.000Z","score":0.00491,"percentile":null},{"date":"2026-10-17T00:00:00.000Z","score":0.00491,"percentile":null},{"date":"2026-10-18T00:00:00.000Z","score":0.00491,"percentile":null},{"date":"2026-10-19T00:00:00.000Z","score":0.00491,"percentile":null},{"date":"2026-10-20T00:00:00.000Z","score":0.00491,"percentile":0.40936}],"last30":[{"date":"2026-09-20T00:00:00.000Z","score":0.00423,"percentile":null},{"date":"2026-09-21T00:00:00.000Z","score":0.00423,"percentile":null},{"date":"2026-09-22T00:00:00.000Z","score":0.00423,"percentile":null},{"date":"2026-09-23T00:00:00.000Z","score":0.00457,"percentile":null},{"date":"2026-09-24T00:00:00.000Z","score":0.00457,"percentile":null},{"date":"2026-09-25T00:00:00.000Z","score":0.00457,"percentile":null},{"date":"2026-09-26T00:00:00.000Z","score":0.00457,"percentile":null},{"date":"2026-09-27T00:00:00.000Z","score":0.00457,"percentile":null},{"date":"2026-09-28T00:00:00.000Z","score":0.00457,"percentile":null},{"date":"2026-09-29T00:00:00.000Z","score":0.00457,"percentile":null},{"date":"2026-09-30T00:00:00.000Z","score":0.00457,"percentile":null},{"date":"2026-10-01T00:00:00.000Z","score":0.00457,"percentile":null},{"date":"2026-10-02T00:00:00.000Z","score":0.00457,"percentile":null},{"date":"2026-10-03T00:00:00.000Z","score":0.00457,"percentile":null},{"date":"2026-10-04T00:00:00.000Z","score":0.00491,"percentile":null},{"date":"2026-10-05T00:00:00.000Z","score":0.00491,"percentile":null},{"date":"2026-10-06T00:00:00.000Z","score":0.00491,"percentile":null},{"date":"2026-10-07T00:00:00.000Z","score":0.00491,"percentile":null},{"date":"2026-10-08T00:00:00.000Z","score":0.00491,"percentile":null},{"date":"2026-10-09T00:00:00.000Z","score":0.00491,"percentile":null},{"date":"2026-10-10T00:00:00.000Z","score":0.00491,"percentile":null},{"date":"2026-10-11T00:00:00.000Z","score":0.00491,"percentile":null},{"date":"2026-10-12T00:00:00.000Z","score":0.00491,"percentile":null},{"date":"2026-10-13T00:00:00.000Z","score":0.00491,"percentile":null},{"date":"2026-10-14T00:00:00.000Z","score":0.00491,"percentile":null},{"date":"2026-10-15T00:00:00.000Z","score":0.00491,"percentile":null},{"date":"2026-10-16T00:00:00.000Z","score":0.00491,"percentile":null},{"date":"2026-10-17T00:00:00.000Z","score":0.00491,"percentile":null},{"date":"2026-10-18T00:00:00.000Z","score":0.00491,"percentile":null},{"date":"2026-10-19T00:00:00.000Z","score":0.00491,"percentile":null},{"date":"2026-10-20T00:00:00.000Z","score":0.00491,"percentile":0.40936}]},"kev":{"state":"not-listed","entries":[],"listedCount":0,"totalCatalogs":3,"catalogs":[{"source":"cisa","label":"CISA","listed":false,"entry":null},{"source":"enisa","label":"ENISA","listed":false,"entry":null},{"source":"circl","label":"CIRCL","listed":false,"entry":null}]},"ransomware":{"state":"none-recorded","sources":[]},"exploits":[{"id":"GITHUB_VERCEL_NEXT.JS","name":"Next.Js","source":"github","url":"https://github.com/vercel/next.js/issues/45301","maturity":"poc","reliabilityScore":0.3,"verified":false,"type":null,"platforms":[],"requiresAuth":null,"exploitdb":null,"metasploit":null}],"exploitCount":1,"weaknesses":[{"id":"CWE-444","name":"Inconsistent Interpretation of HTTP Requests ('HTTP Request/Response Smuggling')","description":"The product acts as an intermediary HTTP agent\n         (such as a proxy or firewall) in the data flow between two\n         entities such as a client and server, but it does not\n         interpret malformed HTTP requests or responses in ways that\n         are consistent with how the messages will be processed by\n         those entities that are at the ultimate destination.","type":"weakness","status":"Incomplete","abstraction":"Base","likelihoodOfExploit":null,"url":"https://cwe.mitre.org/data/definitions/444.html"}],"affected":[{"vendor":"chainguard","product":"jitsucom-jitsu","name":"jitsucom-jitsu","label":"jitsucom-jitsu","ecosystem":"Chainguard","cpePart":null,"purl":"pkg:apk/chainguard/jitsucom-jitsu","purlType":"apk","versions":[{"text":"< 2.10.0-r2","noFixRecorded":false,"fixedIn":null}],"versionsText":"< 2.10.0-r2","eol":null,"hubHref":null},{"vendor":"chainguard","product":"jitsucom-jitsu-console","name":"jitsucom-jitsu-console","label":"jitsucom-jitsu-console","ecosystem":"Chainguard","cpePart":null,"purl":"pkg:apk/chainguard/jitsucom-jitsu-console","purlType":"apk","versions":[{"text":"< 2.10.0-r2","noFixRecorded":false,"fixedIn":null}],"versionsText":"< 2.10.0-r2","eol":null,"hubHref":null},{"vendor":"chainguard","product":"jitsucom-jitsu-rotor","name":"jitsucom-jitsu-rotor","label":"jitsucom-jitsu-rotor","ecosystem":"Chainguard","cpePart":null,"purl":"pkg:apk/chainguard/jitsucom-jitsu-rotor","purlType":"apk","versions":[{"text":"< 2.10.0-r2","noFixRecorded":false,"fixedIn":null}],"versionsText":"< 2.10.0-r2","eol":null,"hubHref":null},{"vendor":"wolfi","product":"jitsucom-jitsu","name":"jitsucom-jitsu","label":"jitsucom-jitsu","ecosystem":"Wolfi","cpePart":null,"purl":"pkg:apk/wolfi/jitsucom-jitsu","purlType":"apk","versions":[{"text":"< 2.10.0-r2","noFixRecorded":false,"fixedIn":null}],"versionsText":"< 2.10.0-r2","eol":null,"hubHref":null},{"vendor":"wolfi","product":"jitsucom-jitsu-console","name":"jitsucom-jitsu-console","label":"jitsucom-jitsu-console","ecosystem":"Wolfi","cpePart":null,"purl":"pkg:apk/wolfi/jitsucom-jitsu-console","purlType":"apk","versions":[{"text":"< 2.10.0-r2","noFixRecorded":false,"fixedIn":null}],"versionsText":"< 2.10.0-r2","eol":null,"hubHref":null},{"vendor":"wolfi","product":"jitsucom-jitsu-rotor","name":"jitsucom-jitsu-rotor","label":"jitsucom-jitsu-rotor","ecosystem":"Wolfi","cpePart":null,"purl":"pkg:apk/wolfi/jitsucom-jitsu-rotor","purlType":"apk","versions":[{"text":"< 2.10.0-r2","noFixRecorded":false,"fixedIn":null}],"versionsText":"< 2.10.0-r2","eol":null,"hubHref":null},{"vendor":"Npm","product":"next","name":"next","label":"next","ecosystem":"Npm","cpePart":null,"purl":"pkg:npm/next","purlType":"npm","versions":[{"text":"≥ 15.3.0, < 15.3.3","noFixRecorded":false,"fixedIn":null}],"versionsText":"≥ 15.3.0, < 15.3.3","eol":{"isEol":null,"eolDate":null,"matchMethod":"purl","cycle":null,"product":{"name":"nextjs","label":"Next.js","category":"framework"}},"hubHref":null},{"vendor":"vercel","product":"next.js","name":"next.js","label":"next.js","ecosystem":null,"cpePart":"a","purl":null,"purlType":null,"versions":[{"text":"≥ 15.3.0, < 15.3.3","noFixRecorded":false,"fixedIn":null}],"versionsText":"≥ 15.3.0, < 15.3.3","eol":null,"hubHref":"/vendor/vercel/nextjs"},{"vendor":"vercel","product":"vercel","name":"vercel","label":"vercel","ecosystem":null,"cpePart":"a","purl":null,"purlType":null,"versions":[{"text":"≥ 41.4.1, < 42.2.0","noFixRecorded":false,"fixedIn":null}],"versionsText":"≥ 41.4.1, < 42.2.0","eol":null,"hubHref":"/vendor/vercel/vercel"}],"affectedCount":9,"eol":{"hasEol":false,"count":0},"references":[{"url":"https://github.com/vercel/next.js/security/advisories/GHSA-r2fc-ccr8-96c4","label":"github.com/vercel/next.js/security/advisories/GHSA-r2fc-ccr8-96c4","hostname":"github.com","tags":["X Refsource CONFIRM","Advisory","WEB","Vendor Advisory"]},{"url":"https://github.com/vercel/next.js/issues/79346","label":"github.com/vercel/next.js/issues/79346","hostname":"github.com","tags":["X Refsource MISC","REPORT","WEB","Exploit","Issue Tracking"]},{"url":"https://github.com/vercel/next.js/commit/ec202eccf05820b60c6126d6411fe16766ecc066","label":"github.com/vercel/next.js/commit/ec202eccf05820b60c6126d6411fe16766ecc066","hostname":"github.com","tags":["X Refsource MISC","FIX","WEB","Patch"]},{"url":"https://github.com/vercel/next.js/releases/tag/v15.3.3","label":"github.com/vercel/next.js/releases/tag/v15.3.3","hostname":"github.com","tags":["X Refsource MISC","WEB","Release Notes"]},{"url":"https://vercel.com/changelog/cve-2025-49005","label":"vercel.com/changelog/cve-2025-49005","hostname":"vercel.com","tags":["X Refsource MISC","WEB","Vendor Advisory"]},{"url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2025/49xxx/CVE-2025-49005.json","label":"github.com/CVEProject/cvelistV5/tree/main/cves/2025/49xxx/CVE-2025-49005.json","hostname":"github.com","tags":["Advisory"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2025-49005","label":"nvd.nist.gov/vuln/detail/CVE-2025-49005","hostname":"nvd.nist.gov","tags":["Advisory"]},{"url":"https://github.com/vercel/next.js/pull/79939","label":"github.com/vercel/next.js/pull/79939","hostname":"github.com","tags":["WEB"]},{"url":"https://github.com/vercel/next.js","label":"github.com/vercel/next.js","hostname":"github.com","tags":["PACKAGE"]}],"lineage":{"upstream":[],"downstream":[],"duplicates":[],"related":["CGA-Q2X4-55M7-X3Q6","CGA-R74V-MPWF-9J9F"]},"timeline":[{"kind":"published","date":"2025-07-03T21:01:14.743Z","label":"Published","detail":"Vulnerability first disclosed.","source":null},{"kind":"modified","date":"2025-07-08T14:34:12.642Z","label":"Last modified","detail":"Vulnerability information updated.","source":null}],"risk":{"score":25,"level":"medium","profile":"Default","thresholds":{"critical":75,"high":50,"medium":25,"low":10}},"meta":{"dataAsOf":"2026-10-20T23:04:43.647Z","stale":false,"partial":false}}