{"id":"CVE-2022-23646","aliases":["EUVD-2022-0986","GHSA-fmvm-x8mv-47mj","ROOT-APP-NPM-CVE-2022-23646"],"status":"published","title":"Improper CSP in Image Optimization API for Next.js","description":"Next.js is a React framework. Starting with version 10.0.0 and prior to version 12.1.0, Next.js is vulnerable to User Interface (UI) Misrepresentation of Critical Information. In order to be affected, the `next.config.js` file must have an `images.domains` array assigned and the image host assigned in `images.domains` must allow user-provided SVG. If the `next.config.js` file has `images.loader` assigned to something other than default, the instance is not affected. Version 12.1.0 contains a patch for this issue. As a workaround, change `next.config.js` to use a different `loader configuration` other than the default.","severity":{"version":"3.1","score":5.9,"vector":"CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:H/A:N","level":"medium","assessor":"cna","from":"cve"},"epss":{"day":"2026-11-09","score":0.01795,"percentile":0.78577,"model":"v2026.06.15"},"facts":{"in_kev":false,"known_exploited":false,"public_exploit":false,"fix_available":true},"cwes":["CWE-451"],"published":"2022-02-17T17:19:18Z","modified":"2026-10-28T02:30:53Z","fixes":[{"ecosystem":"npm","package":"next","fixed_in":["12.1.0"],"sources":["ghsa","osv"]},{"ecosystem":"Root:npm","package":"next","fixed_in":["12.1.0-aikido.1","12.1.0-aikido.2"],"sources":["osv"]},{"ecosystem":"Root:npm","package":"@rootio/next","fixed_in":["12.1.0-root.io.1","12.1.0-root.io.2"],"sources":["osv"]}],"affected":[{"source":"ghsa","ecosystem":"npm","package":"next","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"10.0.0"},{"fixed":"12.1.0"}]}]},{"source":"osv","ecosystem":"npm","package":"next","ranges":[{"type":"SEMVER","events":[{"introduced":"10.0.0"},{"fixed":"12.1.0"}]}]},{"source":"osv","ecosystem":"Root:npm","package":"next","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"12.1.0-aikido.1"},{"fixed":"12.1.0-aikido.2"}]}]},{"source":"osv","ecosystem":"Root:npm","package":"@rootio/next","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"12.1.0-root.io.1"},{"fixed":"12.1.0-root.io.2"}]}]}],"products":[{"vendor":"vercel","product":"next.js"}],"references":[{"url":"https://github.com/vercel/next.js/security/advisories/GHSA-fmvm-x8mv-47mj","tags":["x_refsource_CONFIRM","x_transferred","Issue Tracking","Mitigation","Patch","Third Party Advisory","advisory","web"]},{"url":"https://github.com/vercel/next.js/pull/34075","tags":["x_refsource_MISC","x_transferred","Issue Tracking","Patch","Third Party Advisory","fix","web"]},{"url":"https://github.com/vercel/next.js/releases/tag/v12.1.0","tags":["x_refsource_MISC","x_transferred","Release Notes","Third Party Advisory","web"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2022-23646","tags":["advisory"]},{"url":"https://github.com/advisories/GHSA-fmvm-x8mv-47mj"},{"url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2022/23xxx/CVE-2022-23646.json","tags":["advisory"]},{"url":"https://github.com/vercel/next.js","tags":["package"]}],"sources":{"cve":[{"id":"CVE-2022-23646","title":"Improper CSP in Image Optimization API for Next.js","description":"Next.js is a React framework. Starting with version 10.0.0 and prior to version 12.1.0, Next.js is vulnerable to User Interface (UI) Misrepresentation of Critical Information. In order to be affected, the `next.config.js` file must have an `images.domains` array assigned and the image host assigned in `images.domains` must allow user-provided SVG. If the `next.config.js` file has `images.loader` assigned to something other than default, the instance is not affected. Version 12.1.0 contains a patch for this issue. As a workaround, change `next.config.js` to use a different `loader configuration` other than the default.","status":"published","published":"2022-02-17T20:35:12Z","modified":"2025-04-23T19:02:50.028Z","cvss":[{"version":"3.1","score":5.9,"vector":"CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:H/A:N","level":"medium","assessor":"cna"}],"cwes":["CWE-451"],"updated_at":"2026-11-02T14:34:29.842547Z"}],"euvd":[{"id":"EUVD-2022-0986","description":"Next.js is a React framework. Starting with version 10.0.0 and prior to version 12.1.0, Next.js is vulnerable to User Interface (UI) Misrepresentation of Critical Information. In order to be affected, the `next.config.js` file must have an `images.domains` array assigned and the image host assigned in `images.domains` must allow user-provided SVG. If the `next.config.js` file has `images.loader` assigned to something other than default, the instance is not affected. Version 12.1.0 contains a patch for this issue. As a workaround, change `next.config.js` to use a different `loader configuration` other than the default.","status":"published","published":"2022-02-17T20:35:12Z","modified":"2025-04-23T19:02:50Z","cvss":[{"version":"3.1","score":5.9,"vector":"CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:H/A:N","level":"medium"}],"updated_at":"2026-11-02T20:52:07.453218Z"}],"ghsa":[{"id":"GHSA-fmvm-x8mv-47mj","title":"Improper CSP in Image Optimization API for Next.js versions between 10.0.0 and 12.1.0","description":"Next.js is a React framework. Starting with version 10.0.0 and prior to version 12.1.0, Next.js is vulnerable to User Interface (UI) Misrepresentation of Critical Information. In order to be affected, the `next.config.js` file must have an `images.domains` array assigned and the image host assigned in `images.domains` must allow user-provided SVG. If the `next.config.js` file has `images.loader` assigned to something other than default, the instance is not affected. Version 12.1.0 contains a patch for this issue. As a workaround, change `next.config.js` to use a different `loader configuration` other than the default.\n\n### Impact\n- **Affected**: All of the following must be true to be affected\n  - Next.js between version 10.0.0 and 12.0.10\n  - The `next.config.js` file has [images.domains](https://nextjs.org/docs/api-reference/next/image#domains) array assigned\n  - The image host assigned in [images.domains](https://nextjs.org/docs/api-reference/next/image#domains) allows user-provided SVG\n- **Not affected**: The `next.config.js` file has [images.loader](https://nextjs.org/docs/api-reference/next/image#loader-configuration) assigned to something other than default\n\n### Patches\n[Next.js 12.1.0](https://github.com/vercel/next.js/releases/tag/v12.1.0)\n\n### Workarounds\nChange `next.config.js` to use a different [loader configuration](https://nextjs.org/docs/api-reference/next/image#loader-configuration) other than the default, for example:\n\n```js\nmodule.exports = {\n  images: {\n    loader: 'imgix',\n    path: 'https://example.com/myaccount/',\n  },\n}\n```\n\nOr if you want to use the [`loader`](https://nextjs.org/docs/api-reference/next/image#loader) prop on the component, you can use `custom`:\n```js\nmodule.exports = {\n  images: {\n    loader: 'custom',\n  },\n}\n```\n\n","status":"published","published":"2022-02-17T17:19:18Z","modified":"2023-02-03T05:06:19Z","cvss":[{"version":"3.1","score":5.9,"vector":"CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:H/A:N","level":"medium"}],"cwes":["CWE-451"],"updated_at":"2026-11-02T14:36:43.439065Z"}],"nvd":[{"id":"CVE-2022-23646","description":"Next.js is a React framework. Starting with version 10.0.0 and prior to version 12.1.0, Next.js is vulnerable to User Interface (UI) Misrepresentation of Critical Information. In order to be affected, the `next.config.js` file must have an `images.domains` array assigned and the image host assigned in `images.domains` must allow user-provided SVG. If the `next.config.js` file has `images.loader` assigned to something other than default, the instance is not affected. Version 12.1.0 contains a patch for this issue. As a workaround, change `next.config.js` to use a different `loader configuration` other than the default.","status":"published","published":"2022-02-17T21:15:07.883Z","modified":"2026-06-17T04:30:33.36Z","cvss":[{"version":"3.1","score":5.9,"vector":"CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:H/A:N","level":"medium","assessor":"secondary"},{"version":"3.1","score":7.5,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N","level":"high","assessor":"primary"},{"version":"2.0","score":4.3,"vector":"AV:N/AC:M/Au:N/C:N/I:P/A:N","level":"medium","assessor":"primary"}],"cwes":["CWE-451"],"updated_at":"2026-11-02T14:07:12.155838Z"}],"osv":[{"id":"CVE-2022-23646","title":"Improper CSP in Image Optimization API for Next.js","description":"Next.js is a React framework. Starting with version 10.0.0 and prior to version 12.1.0, Next.js is vulnerable to User Interface (UI) Misrepresentation of Critical Information. In order to be affected, the `next.config.js` file must have an `images.domains` array assigned and the image host assigned in `images.domains` must allow user-provided SVG. If the `next.config.js` file has `images.loader` assigned to something other than default, the instance is not affected. Version 12.1.0 contains a patch for this issue. As a workaround, change `next.config.js` to use a different `loader configuration` other than the default.","status":"published","published":"2022-02-17T20:35:12Z","modified":"2026-10-28T02:30:53.559176621Z","cvss":[{"version":"3.1","score":5.9,"vector":"CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:H/A:N","level":"medium"}],"cwes":["CWE-451"],"updated_at":"2026-11-02T15:44:24.061177Z"},{"id":"GHSA-fmvm-x8mv-47mj","title":"Improper CSP in Image Optimization API for Next.js versions between 10.0.0 and 12.1.0","description":"Next.js is a React framework. Starting with version 10.0.0 and prior to version 12.1.0, Next.js is vulnerable to User Interface (UI) Misrepresentation of Critical Information. In order to be affected, the `next.config.js` file must have an `images.domains` array assigned and the image host assigned in `images.domains` must allow user-provided SVG. If the `next.config.js` file has `images.loader` assigned to something other than default, the instance is not affected. Version 12.1.0 contains a patch for this issue. As a workaround, change `next.config.js` to use a different `loader configuration` other than the default.\n\n### Impact\n- **Affected**: All of the following must be true to be affected\n  - Next.js between version 10.0.0 and 12.0.10\n  - The `next.config.js` file has [images.domains](https://nextjs.org/docs/api-reference/next/image#domains) array assigned\n  - The image host assigned in [images.domains](https://nextjs.org/docs/api-reference/next/image#domains) allows user-provided SVG\n- **Not affected**: The `next.config.js` file has [images.loader](https://nextjs.org/docs/api-reference/next/image#loader-configuration) assigned to something other than default\n\n### Patches\n[Next.js 12.1.0](https://github.com/vercel/next.js/releases/tag/v12.1.0)\n\n### Workarounds\nChange `next.config.js` to use a different [loader configuration](https://nextjs.org/docs/api-reference/next/image#loader-configuration) other than the default, for example:\n\n```js\nmodule.exports = {\n  images: {\n    loader: 'imgix',\n    path: 'https://example.com/myaccount/',\n  },\n}\n```\n\nOr if you want to use the [`loader`](https://nextjs.org/docs/api-reference/next/image#loader) prop on the component, you can use `custom`:\n```js\nmodule.exports = {\n  images: {\n    loader: 'custom',\n  },\n}\n```\n\n","status":"published","published":"2022-02-17T17:19:18Z","modified":"2023-11-08T04:08:26.29881Z","cvss":[{"version":"3.1","score":5.9,"vector":"CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:H/A:N","level":"medium"}],"cwes":["CWE-451"],"updated_at":"2026-11-02T15:46:46.760785Z"},{"id":"ROOT-APP-NPM-CVE-2022-23646","title":"CVE-2022-23646 in next - Patched by Root","description":"Root has patched CVE-2022-23646 in the next package for Root:npm. Multiple fixed versions available.","status":"published","published":"2026-09-18T05:47:16Z","modified":"2026-09-18T06:15:04.052812056Z","updated_at":"2026-11-02T15:53:27.362922Z"}]}}
