OpenAM 15.0.3 and earlier: getCustomLoginUrlTemplate Template Injection
CVE-2024-41667 Published on July 24, 2024
OpenAM FreeMarker template injection
OpenAM is an open access management solution. In versions 15.0.3 and prior, the `getCustomLoginUrlTemplate` method in RealmOAuth2ProviderSettings.java is vulnerable to template injection due to its usage of user input. Although the developer intended to implement a custom URL for handling login to override the default OpenAM login, they did not restrict the `CustomLoginUrlTemplate`, allowing it to be set freely. Commit fcb8432aa77d5b2e147624fe954cb150c568e0b8 introduces `TemplateClassResolver.SAFER_RESOLVER` to disable the resolution of commonly exploited classes in FreeMarker template injection. As of time of publication, this fix is expected to be part of version 15.0.4.
Vulnerability Analysis
CVE-2024-41667 can be exploited with network access, and requires small amount of user privileges. This vulnerability is considered to have a low attack complexity. The potential impact of an exploit of this vulnerability is considered to be very high.
Weakness Type
What is a Code Injection Vulnerability?
The software constructs all or part of a code segment using externally-influenced input from an upstream component, but it does not neutralize or incorrectly neutralizes special elements that could modify the syntax or behavior of the intended code segment.
CVE-2024-41667 has been classified to as a Code Injection vulnerability or weakness.
Affected Versions
OpenIdentityPlatform OpenAM:- Version < 15.0.4 is affected.
- Before 15.0.4 is affected.
Vulnerable Packages
The following package name and versions may be associated with CVE-2024-41667
| Package Manager | Vulnerable Package | Versions | Fixed In |
|---|---|---|---|
| maven | org.openidentityplatform.openam:openam-oauth2 | <= 15.0.3 | 15.0.4 |
Exploit Probability
EPSS (Exploit Prediction Scoring System) scores estimate the probability that a vulnerability will be exploited in the wild within the next 30 days. The percentile shows you how this score compares to all other vulnerabilities.