CVE-2026-73651 json
TypeORM: migration:generate template-literal code injection
published 2026-07-21 3 mo ago modified 2026-09-18 51 d ago also EUVD-2026-58194 , GHSA-2rp8-mm9q-fp49
- cvss
- 5.7
- version 3.1, CNA
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 0.4%
- EPSS 0.4% chance of exploitation in 30 days, percentile 33%
- public exploits
- 0
- none known
Summary
TypeORM is a TypeScript and JavaScript ORM for Node.js that supports PostgreSQL, MySQL, MariaDB, SQLite, SQL Server, Oracle, and other databases. Prior to versions 0.3.31 and 1.1.0, typeorm migration:generate embeds database schema metadata into JavaScript or TypeScript template literals in src/commands/MigrationGenerateCommand.ts, escaping backticks but not ${...} interpolation. An attacker with database schema write access can place a payload in column COMMENT or DEFAULT metadata, or another introspected schema string, and the JavaScript engine evaluates the payload when the generated migration is loaded through migration:run, import, or require. This issue is fixed in versions 0.3.31 and 1.1.0.
Patch / fix
- npm typeorm 0.3.31, 1.1.0
- typeorm typeorm 0.3.31, 1.1.0
Vendor advisories
What the vendors themselves say about their products: affected, fixed or not affected, and what to do.
red hat product security vex CVE-2026-73651 updated cvss 5.7
typeorm: TypeORM: Arbitrary code execution via template literal code injection
-
Red Hat Developer Hub 1 rhdh/rhdh-hub-rhel9 Red Hat Self-service automation portal 2 ansible-automation-platform/automation-portal, ansible-automation-platform/bootc-automation-portal-rhel9affected: workaround, no fix available “Fix deferred”
Red Hat CSAF VEX © Red Hat, Inc., from https://security.access.redhat.com/data/csaf/v2/vex/; changed: reduced to product statuses and remediations. CC BY 4.0 · csaf
CISA SSVC
- Exploitation
- none
- Automatable
- no
- Technical impact
- total
- Assessed
- 2 mo ago
Exploit prediction
0.39% chance of exploitation in the next 30 days, higher than 33% of all scored CVEs (FIRST EPSS, 2026-11-08).
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CNA | 3.1 | 5.7 | CVSS:3.1/AV:N/AC:H/PR:H/UI:R/S:U/C:H/I:H/A:N |
| GitHub | 3.1 | 5.7 | CVSS:3.1/AV:N/AC:H/PR:H/UI:R/S:U/C:H/I:H/A:N |
Affected packages
| ecosystem | package | affected | fixed in |
|---|---|---|---|
| npm | typeorm | <0.3.31 >=1.0.0, <1.1.0 |
0.3.31 1.1.0 |
Affected products
- typeorm typeorm
Classification
- Weakness
-
- CWE-94 Improper Control of Generation of Code
References
-
github.com
/typeorm/typeorm/commit/41d1c62fe49f99c3ca916d4d986f61ee9f45d519
web
-
github.com
/typeorm/typeorm/commit/b175f9b8be422edd2a2ac035ba90c3f2ce782dfe
web
-
github.com
/typeorm/typeorm/security/advisories/GHSA-2rp8-mm9q-fp49
web
-
github.com
/typeorm/typeorm/releases/tag/0.3.31
web
-
github.com
/typeorm/typeorm/releases/tag/1.1.0
web
-
github.com
/typeorm/typeorm
package
Sources
- CVE List CVE-2026-73651
- GitHub Advisory GHSA-2rp8-mm9q-fp49
- NVD CVE-2026-73651
Fencer Vulns keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.
CPEs and fixed versions use Anchore's correction of NVD's data: Added CPE configurations because not yet analyzed by NVD.