Add Hibernate SQL injection sink tests

Agent-Logs-Url: https://github.com/github/codeql/sessions/2e7aecca-63ea-489f-8b87-4cc557655919

Co-authored-by: owen-mc <62447351+owen-mc@users.noreply.github.com>
This commit is contained in:
copilot-swe-agent[bot]
2026-04-23 10:04:52 +00:00
committed by GitHub
parent 7b897add22
commit 081ad03b4b
6 changed files with 57 additions and 1 deletions

View File

@@ -0,0 +1,21 @@
import org.hibernate.Session;
import org.hibernate.SharedSessionContract;
import org.hibernate.query.QueryProducer;
public class Hibernate {
public static String source() { return null; }
public static void test(
Session session, SharedSessionContract sharedSessionContract, QueryProducer queryProducer) {
session.createQuery(source()); // $ sqlInjection
session.createSQLQuery(source()); // $ sqlInjection
sharedSessionContract.createQuery(source()); // $ sqlInjection
sharedSessionContract.createSQLQuery(source()); // $ sqlInjection
queryProducer.createNativeQuery(source()); // $ sqlInjection
queryProducer.createQuery(source()); // $ sqlInjection
queryProducer.createSQLQuery(source()); // $ sqlInjection
}
}

View File

@@ -1 +1 @@
//semmle-extractor-options: --javac-args -cp ${testdir}/../../../../../stubs/mongodbClient:${testdir}/../../../../../stubs/couchbaseClient:${testdir}/../../../../../stubs/springframework-5.8.x:${testdir}/../../../../../stubs/apache-hive:${testdir}/../../../../../stubs/jakarta-persistence-api-3.2.0 --release 21
//semmle-extractor-options: --javac-args -cp ${testdir}/../../../../../stubs/mongodbClient:${testdir}/../../../../../stubs/couchbaseClient:${testdir}/../../../../../stubs/springframework-5.8.x:${testdir}/../../../../../stubs/apache-hive:${testdir}/../../../../../stubs/jakarta-persistence-api-3.2.0:${testdir}/../../../../../stubs/hibernate-5.x --release 21

View File

@@ -0,0 +1,10 @@
package org.hibernate;
import org.hibernate.query.Query;
public interface Session extends SharedSessionContract {
Query createQuery(String queryString);
Query createSQLQuery(String queryString);
}

View File

@@ -0,0 +1,11 @@
package org.hibernate;
import org.hibernate.query.Query;
import org.hibernate.query.QueryProducer;
public interface SharedSessionContract extends QueryProducer {
Query createQuery(String queryString);
Query createSQLQuery(String queryString);
}

View File

@@ -0,0 +1,4 @@
package org.hibernate.query;
public interface Query {
}

View File

@@ -0,0 +1,10 @@
package org.hibernate.query;
public interface QueryProducer {
Query createNativeQuery(String sqlString);
Query createQuery(String queryString);
Query createSQLQuery(String queryString);
}