Vulnerability · Published Jun 10, 2026 · Assigned by GitHub_M
CVE-2026-46625JavaScript Cookie: Per-instance prototype hijack in assign() enables cookie-attribute injection
High 7.5
In plain English
A high-severity prototype pollution in js-cookie from js-cookie. Proof-of-concept exploit code is public. The chance it is exploited in the next 30 days is estimated at 0.9% (higher than 60% of all known vulnerabilities). Fixed versions are available - upgrade the affected package.
Official description
JavaScript Cookie is a JavaScript API for handling cookies, client-side. Prior to version 3.0.7, js-cookie's internal assign() helper copies properties with for...in + plain assignment. When the source object is produced by JSON.parse, the JSON object's "__proto__" member is an own enumerable property, so the for…in enumerates it and the target[key] = source[key] write triggers the Object.prototype.__proto__ setter on the fresh target ({}). The result is a per-instance prototype hijack: Object.prototype itself is untouched, but the merged attributes object now inherits attacker-controlled keys. Because the consuming set() function then enumerates the merged object with another for...in, every key the attacker placed on the polluted prototype lands in the resulting Set-Cookie string as an attribute pair. The attacker can set domain=, secure=, samesite=, expires=, and path= on cookies whose attributes the developer thought were locked down. This issue has been patched in version 3.0.7.
Affected packages & fixed versions
| Ecosystem | Package | Fixed in | Advisory |
|---|---|---|---|
| Debian:12 | node-js-cookie | no fix listed | DEBIAN-CVE-2026-46625 |
| Debian:13 | node-js-cookie | no fix listed | DEBIAN-CVE-2026-46625 |
| Debian:14 | node-js-cookie | 3.0.7+~3.0.6-1 | DEBIAN-CVE-2026-46625 |
| Ubuntu:22.04:LTS | node-js-cookie | no fix listed | UBUNTU-CVE-2026-46625 |
| Ubuntu:24.04:LTS | node-js-cookie | no fix listed | UBUNTU-CVE-2026-46625 |
| Ubuntu:25.10 | node-js-cookie | no fix listed | UBUNTU-CVE-2026-46625 |
| Ubuntu:26.04:LTS | node-js-cookie | no fix listed | UBUNTU-CVE-2026-46625 |
| Ubuntu:26.10 | node-js-cookie | no fix listed | UBUNTU-CVE-2026-46625 |
| npm | js-cookie | 3.0.7 | GHSA-qjx8-664m-686j |
Affected products (as reported)
Weakness: CWE-1321, CWE-915 · Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N
References
- https://github.com/js-cookie/js-cookie/security/advisories/GHSA-qjx8-664m-686j x_refsource_CONFIRM
- https://github.com/js-cookie/js-cookie/commit/eb3c40e89731e99b8970faaf35ddad249c6c0020 x_refsource_MISC
- https://github.com/js-cookie/js-cookie/releases/tag/v3.0.7 x_refsource_MISC
- https://access.redhat.com/security/cve/CVE-2026-46625 vdb-entry, x_refsource_REDHAT
- RHBZ#2487740 issue-tracking, x_refsource_REDHAT
- https://security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-46625.json x_sadp-csaf-vex
- https://access.redhat.com/errata/RHSA-2026:48151 vendor-advisory, x_refsource_REDHAT
- https://access.redhat.com/errata/RHSA-2026:36625 vendor-advisory, x_refsource_REDHAT
- https://access.redhat.com/errata/RHSA-2026:56338 vendor-advisory, x_refsource_REDHAT
- https://access.redhat.com/errata/RHSA-2026:56357 vendor-advisory, x_refsource_REDHAT
- https://access.redhat.com/errata/RHSA-2026:59153 vendor-advisory, x_refsource_REDHAT
- https://access.redhat.com/errata/RHSA-2026:48126 vendor-advisory, x_refsource_REDHAT
- https://access.redhat.com/errata/RHSA-2026:49642 vendor-advisory, x_refsource_REDHAT
- https://access.redhat.com/errata/RHSA-2026:52768 vendor-advisory, x_refsource_REDHAT
- https://access.redhat.com/errata/RHSA-2026:60520 vendor-advisory, x_refsource_REDHAT
- https://access.redhat.com/errata/RHSA-2026:33183 vendor-advisory, x_refsource_REDHAT