java
java copied to clipboard
Vulnerability in the adl4j dependency
Describe the bug It appears you are using an archived version of adl4j which has a vulnerability: https://github.com/AzureAD/azure-activedirectory-library-for-java/issues/309 It seems you need to upgrade to this library: https://mvnrepository.com/artifact/com.nimbusds/oauth2-oidc-sdk
The downstream vulnerabilities: https://security.snyk.io/vuln/SNYK-JAVA-NETMINIDEV-3369748 https://security.snyk.io/vuln/SNYK-JAVA-COMNIMBUSDS-6247633
Client Version 20.0.0
Kubernetes Version N/A
Java Version 17
To Reproduce Run a vulnerability scan
Expected behavior A clean vulnerability scan
KubeConfig N/A
Server (please complete the following information): N/A
Additional context N/A
Looks like we need to upgrade to a different library (MSAL4J).
We'd be happy to take PRs for that, or we'll get to it eventually.
/assign
/assign
I have some spare time and would be happy to look into this. But as a first contributor it may take a bit more time than for someone already familiar with the code.
@brendandburns quick question:
I noticed a similar issue for the python client (https://github.com/kubernetes-client/python/issues/1983) where you mention in-tree providers are being deprecated in favour of exec providers, and that for the Python client it might be better to remove the code altogether since Azure now has kubelogin.
If I read KubeConfig.java:239 right, the Java client also supports exec providers, so would it be better to simply remove the native code in the Java client as well?
(and a small side question: it seems all three native providers get registered twice, once via the static constructor in KubeConfig, and then again via the static constructors in each class. I suppose it doesn't do any harm since the authenticators map would just keep the last one added, but I was curious if there's any reason for this?)