node-webpack, vue.js — security advisory
Impact: When 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). Patches: Fixed in webpack-dev-server@5.2.5. Workarounds: Scope user-defined proxy context to specific paths instead of /, or omit ws: true from the proxy entry when WebSocket forwarding is not required.
- Products
- node-webpack, vue.js
- Affected versions
- 2.5.17+dfsg-4, 2.6.12+dfsg-3, 2.6.14+dfsg-1, 2.6.14+dfsg-2, 2.6.14+dfsg1-1, 2.6.14+dfsg1-1build1, 2.6.14+dfsg1-2, 2.6.14+dfsg1-3, 2.7.16+dfsg1-3, 3.5.6-1build3, 3.5.6-1build4, 3.5.6-2, 4.30.0-7, 4.30.0-9, 4.43.0-6build4, 4.43.0-7, 4.7.0-3, 5.105.4+dfsg1+~cs15.13.23-2, 5.108.0+dfsg1+~cs14.7.20-2, 5.76.1+dfsg1+~cs17.16.16-1, 5.97.1+dfsg1+~cs11.18.27-2, 5.97.1+dfsg1+~cs11.18.27-3, 5.97.1+dfsg1+~cs11.18.27-4
- Fixed versions
- Not specified
- CVEs
- CVE-2026-9595
- Confirmed fixed CVEs
- Not specified
- Updated in this feed
- 31 Oct 2026, 03:34 UTC · Revision 1
Source evidence
Impact: When 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). Patches: Fixed in webpack-dev-server@5.2.5. Workarounds: Scope user-defined proxy context to specific paths instead of /, or omit ws: true from the proxy entry when WebSocket forwarding is not required.
osv:UBUNTU-CVE-2026-9595
node-webpack
Fixed versions: Not specified
node-webpack
Fixed versions: Not specified
vue.js
Fixed versions: Not specified
node-webpack
Fixed versions: Not specified
vue.js
Fixed versions: Not specified
node-webpack
Fixed versions: Not specified
vue.js
Fixed versions: Not specified
node-webpack
Fixed versions: Not specified
vue.js
Fixed versions: Not specified
node-webpack
Fixed versions: Not specified
vue.js
Fixed versions: Not specified
node-webpack
Fixed versions: Not specified
vue.js
Fixed versions: Not specified
Complete source record
{
"id": "2ff67fd24f92be8ae010e1cc5d3b0d0ae2b85bbc3c9ccd59cd3629d793e0b688",
"url": "https://osv.dev/vulnerability/UBUNTU-CVE-2026-9595",
"method": "structured",
"payload": {
"kind": "advisory",
"title": "UBUNTU-CVE-2026-9595",
"summary": "Impact: When 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). Patches: Fixed in webpack-dev-server@5.2.5. Workarounds: Scope user-defined proxy context to specific paths instead of /, or omit ws: true from the proxy entry when WebSocket forwarding is not required.",
"evidence": "osv:UBUNTU-CVE-2026-9595",
"products": [
{
"name": {
"value": "node-webpack",
"evidence": "/affected/0/package/name"
},
"prerequisites": [],
"fixed_versions": [],
"affected_versions": [
{
"value": "3.5.6-1build3",
"evidence": "/affected/0/versions"
},
{
"value": "3.5.6-1build4",
"evidence": "/affected/0/versions"
},
{
"value": "3.5.6-2",
"evidence": "/affected/0/versions"
}
]
},
{
"name": {
"value": "node-webpack",
"evidence": "/affected/1/package/name"
},
"prerequisites": [],
"fixed_versions": [],
"affected_versions": [
{
"value": "4.7.0-3",
"evidence": "/affected/1/versions"
},
{
"value": "4.30.0-7",
"evidence": "/affected/1/versions"
},
{
"value": "4.30.0-9",
"evidence": "/affected/1/versions"
}
]
},
{
"name": {
"value": "vue.js",
"evidence": "/affected/2/package/name"
},
"prerequisites": [],
"fixed_versions": [],
"affected_versions": [
{
"value": "2.5.17+dfsg-4",
"evidence": "/affected/2/versions"
}
]
},
{
"name": {
"value": "node-webpack",
"evidence": "/affected/3/package/name"
},
"prerequisites": [],
"fixed_versions": [],
"affected_versions": [
{
"value": "4.43.0-6build4",
"evidence": "/affected/3/versions"
},
{
"value": "4.43.0-7",
"evidence": "/affected/3/versions"
}
]
},
{
"name": {
"value": "vue.js",
"evidence": "/affected/4/package/name"
},
"prerequisites": [],
"fixed_versions": [],
"affected_versions": [
{
"value": "2.6.12+dfsg-3",
"evidence": "/affected/4/versions"
},
{
"value": "2.6.14+dfsg-1",
"evidence": "/affected/4/versions"
},
{
"value": "2.6.14+dfsg-2",
"evidence": "/affected/4/versions"
}
]
},
{
"name": {
"value": "node-webpack",
"evidence": "/affected/5/package/name"
},
"prerequisites": [],
"fixed_versions": [],
"affected_versions": [
{
"value": "5.76.1+dfsg1+~cs17.16.16-1",
"evidence": "/affected/5/versions"
}
]
},
{
"name": {
"value": "vue.js",
"evidence": "/affected/6/package/name"
},
"prerequisites": [],
"fixed_versions": [],
"affected_versions": [
{
"value": "2.6.14+dfsg1-1",
"evidence": "/affected/6/versions"
}
]
},
{
"name": {
"value": "node-webpack",
"evidence": "/affected/7/package/name"
},
"prerequisites": [],
"fixed_versions": [],
"affected_versions": [
{
"value": "5.97.1+dfsg1+~cs11.18.27-2",
"evidence": "/affected/7/versions"
},
{
"value": "5.97.1+dfsg1+~cs11.18.27-3",
"evidence": "/affected/7/versions"
}
]
},
{
"name": {
"value": "vue.js",
"evidence": "/affected/8/package/name"
},
"prerequisites": [],
"fixed_versions": [],
"affected_versions": [
{
"value": "2.6.14+dfsg1-1",
"evidence": "/affected/8/versions"
}
]
},
{
"name": {
"value": "node-webpack",
"evidence": "/affected/9/package/name"
},
"prerequisites": [],
"fixed_versions": [],
"affected_versions": [
{
"value": "5.105.4+dfsg1+~cs15.13.23-2",
"evidence": "/affected/9/versions"
},
{
"value": "5.108.0+dfsg1+~cs14.7.20-2",
"evidence": "/affected/9/versions"
}
]
},
{
"name": {
"value": "vue.js",
"evidence": "/affected/10/package/name"
},
"prerequisites": [],
"fixed_versions": [],
"affected_versions": [
{
"value": "2.6.14+dfsg1-3",
"evidence": "/affected/10/versions"
},
{
"value": "2.7.16+dfsg1-3",
"evidence": "/affected/10/versions"
}
]
},
{
"name": {
"value": "node-webpack",
"evidence": "/affected/11/package/name"
},
"prerequisites": [],
"fixed_versions": [],
"affected_versions": [
{
"value": "5.97.1+dfsg1+~cs11.18.27-3",
"evidence": "/affected/11/versions"
},
{
"value": "5.97.1+dfsg1+~cs11.18.27-4",
"evidence": "/affected/11/versions"
},
{
"value": "5.105.4+dfsg1+~cs15.13.23-2",
"evidence": "/affected/11/versions"
}
]
},
{
"name": {
"value": "vue.js",
"evidence": "/affected/12/package/name"
},
"prerequisites": [],
"fixed_versions": [],
"affected_versions": [
{
"value": "2.6.14+dfsg1-1",
"evidence": "/affected/12/versions"
},
{
"value": "2.6.14+dfsg1-1build1",
"evidence": "/affected/12/versions"
},
{
"value": "2.6.14+dfsg1-2",
"evidence": "/affected/12/versions"
},
{
"value": "2.6.14+dfsg1-3",
"evidence": "/affected/12/versions"
}
]
}
],
"severity": "medium",
"structured": {
"id": "UBUNTU-CVE-2026-9595",
"aliases": [
"UBUNTU-CVE-2026-9595"
],
"metrics": [
{
"type": "CVSS_V3",
"score": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L"
},
{
"type": "CVSS_V3",
"score": "CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:L"
},
{
"type": "Ubuntu",
"score": "medium"
}
],
"affected": [
{
"ranges": [
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "0"
}
]
}
],
"package": {
"name": "node-webpack",
"purl": "pkg:deb/ubuntu/node-webpack?arch=source&distro=bionic",
"ecosystem": "Ubuntu:18.04:LTS"
},
"versions": [
"3.5.6-1build3",
"3.5.6-1build4",
"3.5.6-2"
],
"database_specific": {
"source": "https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2026/UBUNTU-CVE-2026-9595.json"
},
"ecosystem_specific": {
"binaries": [
{
"binary_name": "webpack",
"binary_version": "3.5.6-2"
}
]
}
},
{
"ranges": [
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "0"
}
]
}
],
"package": {
"name": "node-webpack",
"purl": "pkg:deb/ubuntu/node-webpack?arch=source&distro=focal",
"ecosystem": "Ubuntu:20.04:LTS"
},
"versions": [
"4.7.0-3",
"4.30.0-7",
"4.30.0-9"
],
"database_specific": {
"source": "https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2026/UBUNTU-CVE-2026-9595.json"
},
"ecosystem_specific": {
"binaries": [
{
"binary_name": "webpack",
"binary_version": "4.30.0-9"
}
]
}
},
{
"ranges": [
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "0"
}
]
}
],
"package": {
"name": "vue.js",
"purl": "pkg:deb/ubuntu/vue.js?arch=source&distro=focal",
"ecosystem": "Ubuntu:20.04:LTS"
},
"versions": [
"2.5.17+dfsg-4"
],
"database_specific": {
"source": "https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2026/UBUNTU-CVE-2026-9595.json"
},
"ecosystem_specific": {
"binaries": [
{
"binary_name": "libjs-vue",
"binary_version": "2.5.17+dfsg-4"
},
{
"binary_name": "node-vue",
"binary_version": "2.5.17+dfsg-4"
}
]
}
},
{
"ranges": [
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "0"
}
]
}
],
"package": {
"name": "node-webpack",
"purl": "pkg:deb/ubuntu/node-webpack?arch=source&distro=jammy",
"ecosystem": "Ubuntu:22.04:LTS"
},
"versions": [
"4.43.0-6build4",
"4.43.0-7"
],
"database_specific": {
"source": "https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2026/UBUNTU-CVE-2026-9595.json"
},
"ecosystem_specific": {
"binaries": [
{
"binary_name": "webpack",
"binary_version": "4.43.0-7"
}
]
}
},
{
"ranges": [
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "0"
}
]
}
],
"package": {
"name": "vue.js",
"purl": "pkg:deb/ubuntu/vue.js?arch=source&distro=jammy",
"ecosystem": "Ubuntu:22.04:LTS"
},
"versions": [
"2.6.12+dfsg-3",
"2.6.14+dfsg-1",
"2.6.14+dfsg-2"
],
"database_specific": {
"source": "https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2026/UBUNTU-CVE-2026-9595.json"
},
"ecosystem_specific": {
"binaries": [
{
"binary_name": "libjs-vue",
"binary_version": "2.6.14+dfsg-2"
},
{
"binary_name": "node-vue",
"binary_version": "2.6.14+dfsg-2"
}
]
}
},
{
"ranges": [
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "0"
}
]
}
],
"package": {
"name": "node-webpack",
"purl": "pkg:deb/ubuntu/node-webpack?arch=source&distro=noble",
"ecosystem": "Ubuntu:24.04:LTS"
},
"versions": [
"5.76.1+dfsg1+~cs17.16.16-1"
],
"database_specific": {
"source": "https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2026/UBUNTU-CVE-2026-9595.json"
},
"ecosystem_specific": {
"binaries": [
{
"binary_name": "webpack",
"binary_version": "5.76.1+dfsg1+~cs17.16.16-1"
}
]
}
},
{
"ranges": [
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "0"
}
]
}
],
"package": {
"name": "vue.js",
"purl": "pkg:deb/ubuntu/vue.js?arch=source&distro=noble",
"ecosystem": "Ubuntu:24.04:LTS"
},
"versions": [
"2.6.14+dfsg1-1"
],
"database_specific": {
"source": "https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2026/UBUNTU-CVE-2026-9595.json"
},
"ecosystem_specific": {
"binaries": [
{
"binary_name": "libjs-vue",
"binary_version": "2.6.14+dfsg1-1"
},
{
"binary_name": "node-vue",
"binary_version": "2.6.14+dfsg1-1"
}
]
}
},
{
"ranges": [
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "0"
}
]
}
],
"package": {
"name": "node-webpack",
"purl": "pkg:deb/ubuntu/node-webpack?arch=source&distro=questing",
"ecosystem": "Ubuntu:25.10"
},
"versions": [
"5.97.1+dfsg1+~cs11.18.27-2",
"5.97.1+dfsg1+~cs11.18.27-3"
],
"database_specific": {
"source": "https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2026/UBUNTU-CVE-2026-9595.json"
},
"ecosystem_specific": {
"binaries": [
{
"binary_name": "webpack",
"binary_version": "5.97.1+dfsg1+~cs11.18.27-3"
}
]
}
},
{
"ranges": [
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "0"
}
]
}
],
"package": {
"name": "vue.js",
"purl": "pkg:deb/ubuntu/vue.js?arch=source&distro=questing",
"ecosystem": "Ubuntu:25.10"
},
"versions": [
"2.6.14+dfsg1-1"
],
"database_specific": {
"source": "https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2026/UBUNTU-CVE-2026-9595.json"
},
"ecosystem_specific": {
"binaries": [
{
"binary_name": "libjs-vue",
"binary_version": "2.6.14+dfsg1-1"
},
{
"binary_name": "node-vue",
"binary_version": "2.6.14+dfsg1-1"
}
]
}
},
{
"ranges": [
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "0"
}
]
}
],
"package": {
"name": "node-webpack",
"purl": "pkg:deb/ubuntu/node-webpack?arch=source&distro=stonking",
"ecosystem": "Ubuntu:26.10"
},
"versions": [
"5.105.4+dfsg1+~cs15.13.23-2",
"5.108.0+dfsg1+~cs14.7.20-2"
],
"database_specific": {
"source": "https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2026/UBUNTU-CVE-2026-9595.json"
},
"ecosystem_specific": {
"binaries": [
{
"binary_name": "webpack",
"binary_version": "5.108.0+dfsg1+~cs14.7.20-2"
}
]
}
},
{
"ranges": [
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "0"
}
]
}
],
"package": {
"name": "vue.js",
"purl": "pkg:deb/ubuntu/vue.js?arch=source&distro=stonking",
"ecosystem": "Ubuntu:26.10"
},
"versions": [
"2.6.14+dfsg1-3",
"2.7.16+dfsg1-3"
],
"database_specific": {
"source": "https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2026/UBUNTU-CVE-2026-9595.json"
},
"ecosystem_specific": {
"binaries": [
{
"binary_name": "libjs-vue",
"binary_version": "2.7.16+dfsg1-3"
},
{
"binary_name": "node-vue",
"binary_version": "2.7.16+dfsg1-3"
}
]
}
},
{
"ranges": [
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "0"
}
]
}
],
"package": {
"name": "node-webpack",
"purl": "pkg:deb/ubuntu/node-webpack?arch=source&distro=resolute",
"ecosystem": "Ubuntu:26.04:LTS"
},
"versions": [
"5.97.1+dfsg1+~cs11.18.27-3",
"5.97.1+dfsg1+~cs11.18.27-4",
"5.105.4+dfsg1+~cs15.13.23-2"
],
"database_specific": {
"source": "https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2026/UBUNTU-CVE-2026-9595.json"
},
"ecosystem_specific": {
"binaries": [
{
"binary_name": "webpack",
"binary_version": "5.105.4+dfsg1+~cs15.13.23-2"
}
]
}
},
{
"ranges": [
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "0"
}
]
}
],
"package": {
"name": "vue.js",
"purl": "pkg:deb/ubuntu/vue.js?arch=source&distro=resolute",
"ecosystem": "Ubuntu:26.04:LTS"
},
"versions": [
"2.6.14+dfsg1-1",
"2.6.14+dfsg1-1build1",
"2.6.14+dfsg1-2",
"2.6.14+dfsg1-3"
],
"database_specific": {
"source": "https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2026/UBUNTU-CVE-2026-9595.json"
},
"ecosystem_specific": {
"binaries": [
{
"binary_name": "libjs-vue",
"binary_version": "2.6.14+dfsg1-3"
},
{
"binary_name": "node-vue",
"binary_version": "2.6.14+dfsg1-3"
}
]
}
}
],
"modified": "2026-10-17T13:01:19.602345957Z",
"provider": "osv",
"upstream": [
"CVE-2026-9595"
],
"references": [
"https://ubuntu.com/security/CVE-2026-9595",
"https://www.cve.org/CVERecord?id=CVE-2026-9595",
"https://cna.openjsf.org/security-advisories.html",
"https://github.com/facebook/create-react-app/pull/7444",
"https://github.com/vuejs/vue-cli/commit/72ba7505aff2a8314e82aa5082379a77504a1fcb",
"https://github.com/webpack/webpack-dev-server/pull/4316",
"https://github.com/webpack/webpack-dev-server/security/advisories/GHSA-mx8g-39q3-5c79"
]
},
"related_cves": [
{
"value": "CVE-2026-9595",
"evidence": "/upstream"
}
],
"security_relevant": true,
"severity_evidence": "/severity/0/score"
},
"source_id": "core-osv",
"document_id": 361698,
"published_at": "2026-06-15T16:16:00+00:00"
}