CVE-2020-1714 Improper Input Validation in Keycloak
Attackers can achieve remote code execution in Keycloak by injecting malicious serialized Java objects due to unsafe deserialization practices.
- Exploited in the wild
- Not known
- Login needed
- Any signed-in user
- Attackable
- Over the internet
- Victim action needed
- Not needed
- Fix
- Available
What is CVE-2020-1714?
CVE-2020-1714 is a high-severity unsafe deserialization vulnerability in Redhat Keycloak, published on 13 May 2020. Any signed-in user can exploit it over the network, with no action from the victim.
Official description
A flaw was found in Keycloak before version 11.0.0, where the code base contains usages of ObjectInputStream without type checks. This flaw allows an attacker to inject arbitrarily serialized Java Objects, which would then get deserialized in a privileged context and potentially lead to remote code execution.
Weakness: CWE-20
Which versions are affected by CVE-2020-1714?
4 open source packages ship an affected version, including org.keycloak:keycloak-common and org.keycloak:keycloak-core. It affects 7 products.
| Package | Affected | Fixed in |
|---|---|---|
org.keycloak:keycloak-common Maven | All versions | 11.0.0 |
org.keycloak:keycloak-common Maven | All versions | 11.0.0 |
org.keycloak:keycloak-core Maven | All versions | 11.0.0 |
org.keycloak:keycloak-core Maven | All versions | 11.0.0 |
Linux distribution packages (10)
keycloak-adapter-sso7_4-eap6 Red Hat:jboss_enterprise_application_platform:6::el6 | All versions | 0:9.0.4-1.redhat_00001.1.ep6.el6 |
keycloak-saml-adapter-sso7_4-eap6 Red Hat:jboss_enterprise_application_platform:6::el6 | All versions | 0:9.0.4-1.redhat_00001.1.ep6.el6 |
keycloak-adapter-sso7_4-eap6 Red Hat:jboss_enterprise_application_platform:6::el7 | All versions | 0:9.0.4-1.redhat_00001.1.ep6.el7 |
keycloak-saml-adapter-sso7_4-eap6 Red Hat:jboss_enterprise_application_platform:6::el7 | All versions | 0:9.0.4-1.redhat_00001.1.ep6.el7 |
eap7-keycloak-adapter-sso7_4 Red Hat:jboss_enterprise_application_platform:7.3::el6 | All versions | 0:9.0.4-1.redhat_00001.1.el6eap |
eap7-keycloak-saml-adapter-sso7_4 Red Hat:jboss_enterprise_application_platform:7.3::el6 | All versions | 0:9.0.4-1.redhat_00001.1.el6eap |
eap7-keycloak-adapter-sso7_4 Red Hat:jboss_enterprise_application_platform:7.3::el7 | All versions | 0:9.0.4-1.redhat_00001.1.el7eap |
eap7-keycloak-saml-adapter-sso7_4 Red Hat:jboss_enterprise_application_platform:7.3::el7 | All versions | 0:9.0.4-1.redhat_00001.1.el7eap |
eap7-keycloak-adapter-sso7_4 Red Hat:jboss_enterprise_application_platform:7.3::el8 | All versions | 0:9.0.4-1.redhat_00001.1.el8eap |
eap7-keycloak-saml-adapter-sso7_4 Red Hat:jboss_enterprise_application_platform:7.3::el8 | All versions | 0:9.0.4-1.redhat_00001.1.el8eap |
Products include Quarkus Quarkus, Redhat Decision Manager, Redhat Jboss Fuse, Redhat Keycloak, Redhat Openshift Application Runtimes, Redhat Process Automation and 1 more.
How do I fix CVE-2020-1714?
Upgrade org.keycloak:keycloak-common to 11.0.0 or later.
Upgrade, and only deserialise data from trusted sources or with an allow-list of types. More about Unsafe deserialization.
Is CVE-2020-1714 being exploited?
There is no known exploitation of CVE-2020-1714 in the wild and no public exploit code.
Other vulnerabilities in Redhat Keycloak
- CVE-2022-4116 Code injection in quarkus dev ui config editor
- CVE-2022-2466 Quarkus does not terminate HTTP requests header context
- CVE-2024-12225 Io.quarkus:quarkus-security-webauthn: quarkus webauthn unexpected authentication bypass
- CVE-2026-39852 Quarkus authorization bypass via semicolon path normalization inconsistency
- CVE-2022-0981 Privilege escalation in quarkus
Sources
Also known as GHSA-m6mm-q862-j366, RHSA-2020:2814, RHSA-2020:2816.