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

Injection ORM

Qu'est-ce que Injection ORM ?

Injection ORMInjection visant les applications utilisant un ORM, qui abuse des requetes dynamiques, du mass-assignment ou des echappatoires SQL brutes pour manipuler l'acces aux donnees.


L'injection ORM survient lorsqu'une entree influence par l'attaquant atteint un ORM (Hibernate, Entity Framework, SQLAlchemy, ActiveRecord, Sequelize, Prisma, Django ORM) via des API qui construisent des requetes dynamiquement. Schemas vulnerables : concatenation HQL/JPQL, where(string) interpole en ActiveRecord, Op.literal de Sequelize, text() formate en SQLAlchemy, mass-assignment d'attributs non prevus, parametres de tri ou de filtre dangereux issus d'API JSON. Les consequences vont de l'injection SQL classique au contournement d'autorisation lorsque les controles vivent dans la couche ORM. Parades : query builders parametres, listes blanches strictes pour les champs triables/filtrables, autorisation explicite des attributs et evitement des echappatoires brutes pour les entrees non fiables.

Exemples

  1. 01

    Une app Rails appelant User.where("name = '#{params[:q]}'"), ouvrant une SQL injection via l'ORM.

  2. 02

    Un endpoint Sequelize acceptant un parametre order de l'attaquant transmis a Op.literal.

Questions fréquentes

Qu'est-ce que Injection ORM ?

Injection visant les applications utilisant un ORM, qui abuse des requetes dynamiques, du mass-assignment ou des echappatoires SQL brutes pour manipuler l'acces aux donnees. Cette notion relève de la catégorie Attaques et menaces en cybersécurité.

Que signifie Injection ORM ?

Injection visant les applications utilisant un ORM, qui abuse des requetes dynamiques, du mass-assignment ou des echappatoires SQL brutes pour manipuler l'acces aux donnees.

Comment fonctionne Injection ORM ?

L'injection ORM survient lorsqu'une entree influence par l'attaquant atteint un ORM (Hibernate, Entity Framework, SQLAlchemy, ActiveRecord, Sequelize, Prisma, Django ORM) via des API qui construisent des requetes dynamiquement. Schemas vulnerables : concatenation HQL/JPQL, where(string) interpole en ActiveRecord, Op.literal de Sequelize, text() formate en SQLAlchemy, mass-assignment d'attributs non prevus, parametres de tri ou de filtre dangereux issus d'API JSON. Les consequences vont de l'injection SQL classique au contournement d'autorisation lorsque les controles vivent dans la couche ORM. Parades : query builders parametres, listes blanches strictes pour les champs triables/filtrables, autorisation explicite des attributs et evitement des echappatoires brutes pour les entrees non fiables.

Comment se défendre contre Injection ORM ?

Les défenses contre Injection ORM combinent habituellement des contrôles techniques et des pratiques opérationnelles, comme détaillé dans la définition ci-dessus.

Quels sont les autres noms de Injection ORM ?

Noms alternatifs courants : Injection HQL, Injection JPQL.

Termes liés