{"dataType":"CVE_RECORD","dataVersion":"5.2","cveMetadata":{"cveId":"CVE-2026-20804","assignerOrgId":"dc46bac7-a7e6-4e1b-ad25-dd5324f7e2c6","state":"PUBLISHED","assignerShortName":"openjs","dateReserved":"2026-06-21T16:37:18.133Z","datePublished":"2026-06-21T16:49:14.695Z","dateUpdated":"2026-06-21T16:49:14.695Z"},"containers":{"cna":{"providerMetadata":{"orgId":"dc46bac7-a7e6-4e1b-ad25-dd5324f7e2c6","shortName":"openjs","dateUpdated":"2026-06-21T16:49:14.695Z"},"title":"webpack-dev-server vulnerable to HMR WebSocket interception via permissive user proxies","descriptions":[{"lang":"en","value":"Impact:\n\nWhen a user-configured proxy on webpack-dev-server has a broad context (e.g. /) and ws: true, it also intercepts the dev server's own HMR WebSocket and forwards it to the proxy target. This leaks the browser's cookies and Origin header to the backend, bypasses the dev server's Host/Origin validation, and corrupts the HMR socket (both HMR and the proxy end up writing to the same socket).\n\nPatches:\n\nFixed in webpack-dev-server 5.2.5.\n\nWorkarounds:\n\nScope user-defined proxy context to specific paths instead of /, or omit ws: true from the proxy entry when WebSocket forwarding is not required.","supportingMedia":[{"type":"text/markdown","base64":false,"value":"### Impact\n\nWhen a user-configured proxy on `webpack-dev-server` has a broad context (e.g. `/`) and `ws: true`, it also intercepts the dev server's own HMR WebSocket and forwards it to the proxy target. This leaks the browser's cookies and `Origin` header to the backend, bypasses the dev server's Host/Origin validation, and corrupts the HMR socket (both HMR and the proxy end up writing to the same socket).\n\n### Patches\n\nFixed in `webpack-dev-server` 5.2.5.\n\n### Workarounds\n\nScope user-defined proxy `context` to specific paths instead of `/`, or omit `ws: true` from the proxy entry when WebSocket forwarding is not required."}]}],"affected":[{"vendor":"npm","product":"webpack-dev-server","defaultStatus":"unaffected","versions":[{"version":"0","lessThan":"5.2.5","status":"affected","versionType":"semver"}]}],"problemTypes":[{"descriptions":[{"lang":"en","cweId":"CWE-346","type":"CWE","description":"Origin Validation Error"},{"lang":"en","cweId":"CWE-441","type":"CWE","description":"Unintended Proxy or Intermediary ('Confused Deputy')"}]}],"metrics":[{"format":"CVSS","cvssV3_1":{"version":"3.1","vectorString":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L","baseScore":5.3,"baseSeverity":"MEDIUM"}}],"credits":[{"lang":"en","type":"coordinator","value":"bjohansebas"},{"lang":"en","type":"analyst","value":"UlisesGascon"}],"references":[{"url":"https://github.com/webpack/webpack-dev-server/pull/4316"},{"url":"https://github.com/vuejs/vue-cli/commit/72ba7505aff2a8314e82aa5082379a77504a1fcb"},{"url":"https://github.com/facebook/create-react-app/pull/7444"}],"x_generator":{"engine":"@openjsfoundation/cna-tools 1.0.0-alpha.1"}}}}