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

ORM-Injection

Was ist ORM-Injection?

ORM-InjectionInjection-Angriff gegen Anwendungen mit Object-Relational-Mapper, der dynamische Queries, Mass-Assignment oder Roh-SQL-Escape-Hatches missbraucht, um Daten zu manipulieren.


ORM-Injection entsteht, wenn von Angreifern beeinflusste Eingaben ueber dynamische APIs eines ORM (Hibernate, Entity Framework, SQLAlchemy, ActiveRecord, Sequelize, Prisma, Django ORM) in die Datenschicht gelangen. Verwundbare Muster: HQL/JPQL-Verkettung, ActiveRecord-where(string) mit Interpolation, Sequelize-Op.literal, SQLAlchemy-text() mit Formatierung, Mass-Assignment unbeabsichtigter Attribute sowie unsichere Sort-/Filterparameter aus JSON-APIs. Folgen reichen von klassischer SQL-Injection bis zu Autorisierungs-Bypass und Rechteausweitung, wenn Pruefungen in der ORM-Schicht liegen. Gegenmassnahmen: parametrisierte Query-Builder, strenge Allowlists fuer sortier-/filterbare Felder, explizite Strong Parameters, Verzicht auf Raw-SQL-Pfade fuer unsichere Eingaben.

Beispiele

  1. 01

    Eine Rails-App ruft User.where("name = '#{params[:q]}'") auf und oeffnet eine SQL-Injection ueber das ORM.

  2. 02

    Ein Sequelize-Endpoint nimmt vom Angreifer kontrollierte Order-Parameter, die via Op.literal weitergegeben werden.

Häufige Fragen

Was ist ORM-Injection?

Injection-Angriff gegen Anwendungen mit Object-Relational-Mapper, der dynamische Queries, Mass-Assignment oder Roh-SQL-Escape-Hatches missbraucht, um Daten zu manipulieren. Es gehört zur Kategorie Angriffe und Bedrohungen der Cybersicherheit.

Was bedeutet ORM-Injection?

Injection-Angriff gegen Anwendungen mit Object-Relational-Mapper, der dynamische Queries, Mass-Assignment oder Roh-SQL-Escape-Hatches missbraucht, um Daten zu manipulieren.

Wie funktioniert ORM-Injection?

ORM-Injection entsteht, wenn von Angreifern beeinflusste Eingaben ueber dynamische APIs eines ORM (Hibernate, Entity Framework, SQLAlchemy, ActiveRecord, Sequelize, Prisma, Django ORM) in die Datenschicht gelangen. Verwundbare Muster: HQL/JPQL-Verkettung, ActiveRecord-where(string) mit Interpolation, Sequelize-Op.literal, SQLAlchemy-text() mit Formatierung, Mass-Assignment unbeabsichtigter Attribute sowie unsichere Sort-/Filterparameter aus JSON-APIs. Folgen reichen von klassischer SQL-Injection bis zu Autorisierungs-Bypass und Rechteausweitung, wenn Pruefungen in der ORM-Schicht liegen. Gegenmassnahmen: parametrisierte Query-Builder, strenge Allowlists fuer sortier-/filterbare Felder, explizite Strong Parameters, Verzicht auf Raw-SQL-Pfade fuer unsichere Eingaben.

Wie schützt man sich gegen ORM-Injection?

Schutzmaßnahmen gegen ORM-Injection kombinieren typischerweise technische Kontrollen und operative Praktiken, wie in der Definition oben beschrieben.

Welche anderen Bezeichnungen gibt es für ORM-Injection?

Übliche alternative Bezeichnungen: HQL-Injection, JPQL-Injection.

Verwandte Begriffe