CVE-2026-34221 MikroORM has Prototype Pollution in Utils.merge
Attacker-controlled input can pollute JavaScript prototypes via MikroORM's merge utility, potentially leading to code execution or privilege escalation.
- Exploited in the wild
- Not known
- Login needed
- Not needed
- Attackable
- Over the internet
- Victim action needed
- Not needed
- Fix
- Available
What is CVE-2026-34221?
CVE-2026-34221 is a high-severity unsafe deserialization vulnerability in mikro-orm, published on 31 Mar 2026. An attacker can exploit it over the internet without logging in, with no action from the victim.
Official description
MikroORM is a TypeScript ORM for Node.js based on Data Mapper, Unit of Work and Identity Map patterns. Prior to versions 6.6.10 and 7.0.6, a prototype pollution vulnerability exists in the Utils.merge helper used internally by MikroORM when merging object structures. The function did not prevent special keys such as __proto__, constructor, or prototype, allowing attacker-controlled input to modify the JavaScript object prototype when merged. This issue has been patched in versions 6.6.10 and 7.0.6.
Weakness: CWE-1321
Which versions are affected by CVE-2026-34221?
4 open source packages ship an affected version, including @mikro-orm/core. It affects 1 product.
| Package | Affected | Fixed in |
|---|---|---|
@mikro-orm/core npm | All versions | 6.6.10 |
@mikro-orm/core npm | All versions | 6.6.10 |
@mikro-orm/core npm | From 7.0.0-dev.0 | 7.0.6 |
@mikro-orm/core npm | From 7.0.0-dev.0 | 7.0.6 |
Products include Mikro-Orm Mikroorm.
How do I fix CVE-2026-34221?
Upgrade @mikro-orm/core to a fixed version for your release line: 6.6.10 or 7.0.6.
Upgrade, and only deserialise data from trusted sources or with an allow-list of types. More about Unsafe deserialization.
Is CVE-2026-34221 being exploited?
There is no known exploitation of CVE-2026-34221 in the wild and no public exploit code.
Other vulnerabilities in mikro-orm
Sources
Also known as GHSA-qpfv-44f3-qqx6.