PT-2026-80857 · Typeorm · Typeorm

·

CVE-2026-76848

·

Publicado

2026-08-24

·

Atualizado

2026-08-24

CVSS v4.0

8.7

Alta

VetorAV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N
Nome do Software Vulnerável e Versões Afetadas TypeORM versões 0.2.21 through 1.1.0
Description O método SelectQueryBuilder.distinctOn do TypeORM aceita um array de strings e o armazena no mapa de expressões sem validação. Para drivers da família PostgreSQL, a função createSelectDistinctExpression() em src/query-builder/SelectQueryBuilder.ts une esse array e interpola o resultado na instrução gerada como SELECT DISTINCT ON (values). Isso ocorre sem escape, aspas, validação de identificadores ou lista de permissões (allowlist), e sem passar pelo auxiliar de escape do driver ou pelo replacePropertyNames. Como o ponto de interpolação é uma lista de expressões SQL entre parênteses, um invasor pode inserir expressões arbitrárias, incluindo subconsultas correlacionadas. Se uma aplicação encaminhar valores controlados pelo cliente para o distinctOn, isso permite que o cliente leia dados acessíveis pela função do banco de dados da aplicação através de inferência booleana ou baseada em tempo, independentemente da entidade consultada. Este caminho não é protegido pela verificação de lista de permissões validateOrderByCondition utilizada pela família orderBy.
Recommendations Atualize o TypeORM para uma versão posterior à 1.1.0. Como medida paliativa temporária, evite passar valores controlados pelo cliente para o método distinctOn do SelectQueryBuilder.

Exploit

Correção

SQL injection

Encontrou algum problema na descrição? Tem algo a acrescentar? Fique à vontade para nos escrever 👾

Enumeração de Fraquezas

Identificadores relacionados

CVE-2026-76848

Produtos afetados

Typeorm