Skip to content
Vol. 1 · Ed. 2026
CyberGlossary
Entry № 767

Injecao em ORM

O que é Injecao em ORM?

Injecao em ORMInjecao contra aplicacoes que usam um ORM, abusando de queries dinamicas, mass-assignment ou escapes para SQL bruto para manipular o acesso a dados.


A injecao em ORM ocorre quando uma entrada influenciada pelo atacante chega a um ORM (Hibernate, Entity Framework, SQLAlchemy, ActiveRecord, Sequelize, Prisma, Django ORM) por APIs que constroem queries dinamicamente. Padroes vulneraveis: concatenacao HQL/JPQL, where(string) interpolado em ActiveRecord, Op.literal em Sequelize, text() formatado em SQLAlchemy, mass-assignment de atributos nao previstos e parametros inseguros de ordenacao ou filtragem em APIs JSON. As consequencias vao da injecao SQL classica ao contorno de autorizacao quando os controlos vivem na camada ORM. Defesas: query builders parametrizados, allowlists para campos ordenaveis/filtraveis, strong parameters e evitar escapes para SQL bruto com entradas nao confiaveis.

Exemplos

  1. 01

    Uma app Rails a chamar User.where("name = '#{params[:q]}'") expoe SQL injection via ORM.

  2. 02

    Endpoint Sequelize que aceita order do atacante e o passa por Op.literal.

Perguntas frequentes

O que é Injecao em ORM?

Injecao contra aplicacoes que usam um ORM, abusando de queries dinamicas, mass-assignment ou escapes para SQL bruto para manipular o acesso a dados. Pertence à categoria Ataques e ameaças da cibersegurança.

O que significa Injecao em ORM?

Injecao contra aplicacoes que usam um ORM, abusando de queries dinamicas, mass-assignment ou escapes para SQL bruto para manipular o acesso a dados.

Como funciona Injecao em ORM?

A injecao em ORM ocorre quando uma entrada influenciada pelo atacante chega a um ORM (Hibernate, Entity Framework, SQLAlchemy, ActiveRecord, Sequelize, Prisma, Django ORM) por APIs que constroem queries dinamicamente. Padroes vulneraveis: concatenacao HQL/JPQL, where(string) interpolado em ActiveRecord, Op.literal em Sequelize, text() formatado em SQLAlchemy, mass-assignment de atributos nao previstos e parametros inseguros de ordenacao ou filtragem em APIs JSON. As consequencias vao da injecao SQL classica ao contorno de autorizacao quando os controlos vivem na camada ORM. Defesas: query builders parametrizados, allowlists para campos ordenaveis/filtraveis, strong parameters e evitar escapes para SQL bruto com entradas nao confiaveis.

Como se defender contra Injecao em ORM?

As defesas contra Injecao em ORM costumam combinar controles técnicos e práticas operacionais, conforme detalhado na definição acima.

Quais são outros nomes para Injecao em ORM?

Nomes alternativos comuns: Injecao HQL, Injecao JPQL.

Termos relacionados