NetSight
high7.5

CVE-2026-46625

JavaScript Cookie: Per-instance prototype hijack in assign() enables cookie-attribute injection

Impact

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

EcosystemPackageAffectedFixed in
npmjs-cookie<= 3.0.53.0.7

Affected products

VendorProductAffected versions
Js-CookieJavascript Cookie
before 3.0.7
Redhat3scale Api Management
Version 2.0
RedhatAnsible Automation Platform
Version 2.0
RedhatOpenshift Ai
All versions
RedhatOpenshift Lightspeed
All versions
RedhatEnterprise Linux
Versions 8.0, 9.0, 10.0

Weakness classification

References