Prototype Pollution in Dexie
Date: 2022-05
Affected: npm/dexie, npm/dexie
Attack vector: other
Category: vulnerability-disclosure
Severity: High
CVE: CVE-2022-21189
CWE: CWE-1321
CVSS: 7.3 (CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:L)

Dexie is a minimalistic wrapper for IndexedDB. The package dexie before 3.2.2, from 4.0.0-alpha.1 and before 4.0.0-alpha.3 are vulnerable to Prototype Pollution in the Dexie.setByKeyPath(obj, keyPath, value) function which does not properly check the keys being set (like __proto__ or constructor). This can allow an attacker to add/modify properties of the Object.prototype leading to prototype pollution vulnerability. **Note:** This vulnerability can occur in multiple ways, for example when modifying a collection with untrusted user input.


Mitigations:

Architectural layers (MAESTRO):