TypeORM — это ORM TypeScript и JavaScript для Node.js, который поддерживает PostgreSQL, MySQL, MariaDB, SQLite, SQL Server, Oracle и другие базы данных. До версий 0.3.31 и 1.1.0 typeormmigration:generate встраивает метаданные схемы базы данных в литералы шаблона JavaScript или TypeScript в src/commands/MigrationGenerateCommand.ts, избегая обратных кавычек, но не интерполяции ${...}. Злоумышленник, имеющий доступ на запись схемы базы данных, может поместить полезную нагрузку в метаданные столбца COMMENT или DEFAULT или другую строку самоанализируемой схемы, а механизм JavaScript оценивает полезную нагрузку, когда созданная миграция загружается посредством миграции: выполнить, импортировать или потребовать.
Эта проблема исправлена в версиях 0.3.31 и 1.1.0.
Показать оригинальное описание (EN)
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.
Характеристики атаки
Последствия
Строка CVSS v3.1