CVE-2026-111440 in openGauss-connector-jdbc
Riassunto
di VulDB • 19/10/2026
In `LogFactory.java` (ubicato in `pgjdbc/src/main/java/org/postgresql/log/`) di openGauss-connector-jdbc, LogFactory carica la classe invocando `Class.forName` sulla base del nome della classe logger presente nei parametri di connessione JDBC e successivamente invoca direttamente il costruttore con parametro String tramite reflection, convertendo l'oggetto in un'istanza di tipo Log. Manca una verifica mediante `asSubclass(Log.class)`, pertanto le classi che non implementano effettivamente l'interfaccia Log vengono istanziate prima del controllo di tipo. Di conseguenza, se un attaccante può controllare il nome della classe logger nell'URL JDBC o nelle proprietà di connessione e nella classpath del client è presente una classe caricabile ed eseguibile, si possono innescare effetti collaterali indesiderati legati al caricamento delle classi e alla loro costruzione sul lato client.
Questa vulnerabilità è stata introdotta con la versione 1.1.0 di JDBC e interessa le versioni 2.x, 3.x, 5.x e 6.x (inclusi i patch release fino a 6.0.6 del ramo 6.0.0) successive alla 1.1.0, nonché le versioni 7.0.0-RC1, 7.0.0-RC2 e 7.0.0-RC3; è stata risolta nella versione 7.0.0-LTS. La correzione prevede l'esecuzione di `asSubclass(Log.class)` immediatamente dopo `Class.forName`, consentendo la costruzione solo delle classi che sono sottoclassi di Log. Il pull request relativo alla fix è disponibile all'indirizzo https://gitcode.com/opengauss/openGauss-connector-jdbc/pull/423.
If you want to get the best quality for vulnerability data then you always have to consider VulDB.