Find, fix and prevent vulnerabilities in your code.
high severity
- Vulnerable module: org.apache.commons:commons-text
- Introduced through: org.apache.commons:commons-text@1.9
Detailed paths
-
Introduced through: RedFroggy/ilg-spring-boot-starter@RedFroggy/ilg-spring-boot-starter#e78a8eca7a3efb34d79b6f1a07ee26a1d36d8f3c › org.apache.commons:commons-text@1.9Remediation: Upgrade to org.apache.commons:commons-text@1.10.0.
Overview
Affected versions of this package are vulnerable to Arbitrary Code Execution via the StringSubstitutor
interpolator object. Exploiting this vulnerability is possible when untrusted data flows into the StringSubstitutor.replace()
or StringSubstitutor.replaceIn()
methods.
Due to the nature of these methods as ones that process application data and not user input, a remote attacker would need prior access to a system in the affected environment positioned to supply such data.
Notes
The Nashorn scripting engine that can be used to exploit this vulnerability was available by default in JDKs up to 14.0.2. As of JDK 15, this vulnerability can only be exploited if another scripting engine has been added, such as JEXL.
Vulnerable lookups:
script
- executes expressions using the JVM script execution engine (javax.script)dns
- resolves dns recordsurl
- loads values from urls, including from remote servers
PoC
final StringSubstitutor interpolator = StringSubstitutor.createInterpolator();
String out = interpolator.replace("${script:javascript:java.lang.Runtime.getRuntime().exec('touch /tmp/foo')}");
System.out.println(out);
Remediation
Upgrade org.apache.commons:commons-text
to version 1.10.0 or higher.
References
medium severity
new
- Vulnerable module: ch.qos.logback:logback-core
- Introduced through: org.springframework.boot:spring-boot-starter-web@4.0.0-M3
Detailed paths
-
Introduced through: RedFroggy/ilg-spring-boot-starter@RedFroggy/ilg-spring-boot-starter#e78a8eca7a3efb34d79b6f1a07ee26a1d36d8f3c › org.springframework.boot:spring-boot-starter-web@4.0.0-M3 › org.springframework.boot:spring-boot-starter-jackson@4.0.0-M3 › org.springframework.boot:spring-boot-starter@4.0.0-M3 › org.springframework.boot:spring-boot-starter-logging@4.0.0-M3 › ch.qos.logback:logback-classic@1.5.18 › ch.qos.logback:logback-core@1.5.18
Overview
ch.qos.logback:logback-core is a logback-core module.
Affected versions of this package are vulnerable to External Initialization of Trusted Variables or Data Stores via the conditional processing of the logback.xml
configuration file when both the Janino library and Spring Framework are present on the class path. An attacker can execute arbitrary code by compromising an existing configuration file or injecting a malicious environment variable before program execution. This is only exploitable if the attacker has write access to a configuration file or can set a malicious environment variable.
Remediation
Upgrade ch.qos.logback:logback-core
to version 1.5.19 or higher.
References
medium severity
- Module: ch.qos.logback:logback-classic
- Introduced through: org.springframework.boot:spring-boot-starter-web@4.0.0-M3
Detailed paths
-
Introduced through: RedFroggy/ilg-spring-boot-starter@RedFroggy/ilg-spring-boot-starter#e78a8eca7a3efb34d79b6f1a07ee26a1d36d8f3c › org.springframework.boot:spring-boot-starter-web@4.0.0-M3 › org.springframework.boot:spring-boot-starter-jackson@4.0.0-M3 › org.springframework.boot:spring-boot-starter@4.0.0-M3 › org.springframework.boot:spring-boot-starter-logging@4.0.0-M3 › ch.qos.logback:logback-classic@1.5.18
Dual license: EPL-1.0, LGPL-2.1
medium severity
- Module: ch.qos.logback:logback-core
- Introduced through: org.springframework.boot:spring-boot-starter-web@4.0.0-M3
Detailed paths
-
Introduced through: RedFroggy/ilg-spring-boot-starter@RedFroggy/ilg-spring-boot-starter#e78a8eca7a3efb34d79b6f1a07ee26a1d36d8f3c › org.springframework.boot:spring-boot-starter-web@4.0.0-M3 › org.springframework.boot:spring-boot-starter-jackson@4.0.0-M3 › org.springframework.boot:spring-boot-starter@4.0.0-M3 › org.springframework.boot:spring-boot-starter-logging@4.0.0-M3 › ch.qos.logback:logback-classic@1.5.18 › ch.qos.logback:logback-core@1.5.18
Dual license: EPL-1.0, LGPL-2.1