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

Inyeccion en ORM

¿Qué es Inyeccion en ORM?

Inyeccion en ORMInyeccion contra aplicaciones que usan un ORM, abusando de consultas dinamicas, asignacion masiva o salidas a SQL crudo para manipular el acceso a datos.


La inyeccion en ORM ocurre cuando una entrada influida por el atacante llega a un ORM (Hibernate, Entity Framework, SQLAlchemy, ActiveRecord, Sequelize, Prisma, Django ORM) a traves de APIs que construyen consultas dinamicamente. Patrones vulnerables: concatenacion en HQL/JPQL, where(string) con interpolacion en ActiveRecord, Op.literal en Sequelize, text() con formato en SQLAlchemy, asignacion masiva de atributos no previstos, y parametros inseguros de ordenacion o filtrado en APIs JSON. Las consecuencias van desde la inyeccion SQL clasica hasta el bypass de autorizacion y la escalada de privilegios cuando los controles viven en la capa ORM. Defensas: query builders parametrizados, listas blancas estrictas para campos ordenables o filtrables, permiso explicito de atributos y evitar los escape hatches para entradas no confiables.

Ejemplos

  1. 01

    Una app Rails con User.where("name = '#{params[:q]}'") que abre SQL injection via el ORM.

  2. 02

    Un endpoint Sequelize que acepta order desde el atacante y lo pasa por Op.literal.

Preguntas frecuentes

¿Qué es Inyeccion en ORM?

Inyeccion contra aplicaciones que usan un ORM, abusando de consultas dinamicas, asignacion masiva o salidas a SQL crudo para manipular el acceso a datos. Pertenece a la categoría de Ataques y amenazas en ciberseguridad.

¿Qué significa Inyeccion en ORM?

Inyeccion contra aplicaciones que usan un ORM, abusando de consultas dinamicas, asignacion masiva o salidas a SQL crudo para manipular el acceso a datos.

¿Cómo funciona Inyeccion en ORM?

La inyeccion en ORM ocurre cuando una entrada influida por el atacante llega a un ORM (Hibernate, Entity Framework, SQLAlchemy, ActiveRecord, Sequelize, Prisma, Django ORM) a traves de APIs que construyen consultas dinamicamente. Patrones vulnerables: concatenacion en HQL/JPQL, where(string) con interpolacion en ActiveRecord, Op.literal en Sequelize, text() con formato en SQLAlchemy, asignacion masiva de atributos no previstos, y parametros inseguros de ordenacion o filtrado en APIs JSON. Las consecuencias van desde la inyeccion SQL clasica hasta el bypass de autorizacion y la escalada de privilegios cuando los controles viven en la capa ORM. Defensas: query builders parametrizados, listas blancas estrictas para campos ordenables o filtrables, permiso explicito de atributos y evitar los escape hatches para entradas no confiables.

¿Cómo defenderse de Inyeccion en ORM?

Las defensas contra Inyeccion en ORM combinan habitualmente controles técnicos y prácticas operativas, como se detalla en la definición.

¿Cuáles son otros nombres para Inyeccion en ORM?

Nombres alternativos comunes: Inyeccion HQL, Inyeccion JPQL.

Términos relacionados