CVE-2026-46625
Fixed in a distro release EPSS <1%CVSS 7.5
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.
Products: js-cookie, Red Hat Cryostat 4 on RHEL 9, Red Hat Advanced Cluster Security for Kubernetes 4.10, Red Hat Ansible Automation Platform 2.1, Red Hat Ansible Automation Platform 2.2, Red Hat Ansible Automation Platform 2.7, Red Hat Developer Hub 1.10, Red Hat Developer Hub 1.9, Red Hat OpenShift AI 3.4, Red Hat OpenShift Service Mesh 3.3, Red Hat OpenShift Lightspeed, Red Hat 3scale API Management Platform 2, Red Hat Ansible Automation Platform 2, Red Hat Discovery 2, Red Hat Enterprise Linux 10, Red Hat Enterprise Linux 8, Red Hat Enterprise Linux 9, Red Hat JBoss Enterprise Application Platform 7, Red Hat JBoss Enterprise Application Platform 8, Red Hat JBoss Enterprise Application Platform Expansion Pack, Red Hat OpenShift AI (RHOAI), Red Hat OpenShift Container Platform 4
Fixed upstream
| Ecosystem | Package | Fixed in |
|---|---|---|
| npm | js-cookie | 3.0.7 |
Distro releases
| Release | Package | Fixed in |
|---|---|---|
| Chainguard | commercial-gitlab-rails-ee-19.1 | 19.1.7-r3 |
| Chainguard | commercial-gitlab-rails-ee-19.2 | 19.2.7-r1 |
| Chainguard | commercial-gitlab-rails-ee-19.3 | 19.3.3-r1 |
| Chainguard | commercial-gitlab-rails-ee-fips-19.1 | 19.1.9-r0 |
| Chainguard | commercial-gitlab-rails-ee-fips-19.2 | 19.2.7-r1 |
| Chainguard | commercial-gitlab-rails-ee-fips-19.3 | 19.3.3-r1 |
| Chainguard | drupal-11.3 | 11.3.13-r3 |
| Chainguard | gitlab-rails-ce-18.1 | no fix |
| Chainguard | gitlab-rails-ce-18.10 | no fix |
| Chainguard | gitlab-rails-ce-18.11 | 18.11.13-r0 |
| Chainguard | gitlab-rails-ce-18.5 | no fix |
| Chainguard | gitlab-rails-ce-18.6 | no fix |
| Chainguard | gitlab-rails-ce-18.7 | no fix |
| Chainguard | gitlab-rails-ce-18.8 | no fix |
| Chainguard | gitlab-rails-ce-18.9 | no fix |
| Chainguard | gitlab-rails-ce-19.0 | 19.0.10-r0 |
| Chainguard | gitlab-rails-ce-19.1 | 19.1.7-r6 |
| Chainguard | gitlab-rails-ce-19.2 | 19.2.5-r2 |
| Chainguard | gitlab-rails-ce-19.3 | 19.3.1-r6 |
| Chainguard | gitlab-rails-ce-fips-18.1 | no fix |
| Chainguard | gitlab-rails-ce-fips-18.10 | 18.10.8-r8 |
| Chainguard | gitlab-rails-ce-fips-18.11 | 18.11.12-r2 |
| Chainguard | gitlab-rails-ce-fips-18.5 | no fix |
| Chainguard | gitlab-rails-ce-fips-18.6 | no fix |
| Chainguard | gitlab-rails-ce-fips-18.7 | no fix |
| Chainguard | gitlab-rails-ce-fips-18.8 | no fix |
| Chainguard | gitlab-rails-ce-fips-18.9 | 18.9.8-r8 |
| Chainguard | gitlab-rails-ce-fips-19.0 | 19.0.9-r3 |
| Chainguard | gitlab-rails-ce-fips-19.1 | 19.1.7-r7 |
| Chainguard | gitlab-rails-ce-fips-19.2 | 19.2.5-r2 |
| Chainguard | gitlab-rails-ce-fips-19.3 | 19.3.1-r3 |
| Chainguard | kibana-7 | no fix |
| Chainguard | kibana-8.17 | 8.17.10-r22 |
| Chainguard | kibana-8.17-bitnami | 8.17.10-r22 |
| Chainguard | kibana-8.17-iamguarded | 8.17.10-r22 |
| Chainguard | kibana-8.19 | 8.19.16-r2 |
| Chainguard | kibana-8.19-bitnami | 8.19.16-r2 |
| Chainguard | kibana-8.19-iamguarded | 8.19.16-r2 |
| Chainguard | kibana-9.0 | 9.0.8-r30 |
| Chainguard | kibana-9.0-bitnami | 9.0.8-r30 |
| Chainguard | kibana-9.0-iamguarded | 9.0.8-r30 |
| Chainguard | kibana-9.1 | 9.1.10-r19 |
| Chainguard | kibana-9.1-iamguarded | 9.1.10-r19 |
| Chainguard | kibana-9.2 | 9.2.8-r7 |
| Chainguard | kibana-9.2-iamguarded | 9.2.8-r7 |
| Chainguard | kibana-9.3 | 9.3.5-r2 |
| Chainguard | kibana-9.3-iamguarded | 9.3.5-r2 |
| Chainguard | kibana-9.4 | 9.4.2-r1 |
| Chainguard | kibana-9.4-iamguarded | 9.4.2-r1 |
| Chainguard | langfuse-2-worker | 2.95.12-r25 |
| Chainguard | langfuse-fips-2-worker | 2.95.12-r27 |
| Chainguard | opensearch-dashboards-2 | 2.19.5-r12 |
| Chainguard | opensearch-dashboards-2-fips | 2.19.5-r12 |
| Chainguard | opensearch-dashboards-3 | 3.6.0-r6 |
| Chainguard | opensearch-dashboards-3-fips | 3.6.0-r8 |
| Chainguard | redisinsight | 3.4.2-r3 |
| Chainguard | saf | 1.6.0-r0 |
| Chainguard | wazuh-dashboard | 4.14.5-r1 |
| Chainguard | wazuh-dashboard-fips | 4.14.4-r3 |
| Debian 12 | node-js-cookie | no fix |
| Debian 13 | node-js-cookie | no fix |
| Debian 14 | node-js-cookie | 3.0.7+~3.0.6-1 |
| Ubuntu 18.04 LTS | node-js-cookie | no fix |
| Ubuntu 20.04 LTS | node-js-cookie | no fix |
| Ubuntu 22.04 LTS | node-js-cookie | no fix |
| Ubuntu 24.04 LTS | node-js-cookie | no fix |
| Ubuntu 25.10 | node-js-cookie | no fix |
| Ubuntu 26.04 LTS | node-js-cookie | no fix |
| Ubuntu 26.10 | node-js-cookie | no fix |
| Wolfi | opensearch-dashboards-3 | 3.6.0-r6 |
| Wolfi | saf | 1.6.0-r0 |