{"api_version":"1","generated_at":"2026-07-24T21:14:02+00:00","cve":"CVE-2020-14359","urls":{"html":"https://cve.report/CVE-2020-14359","api":"https://cve.report/api/cve/CVE-2020-14359.json","docs":"https://cve.report/api","cve_org":"https://www.cve.org/CVERecord?id=CVE-2020-14359","nvd":"https://nvd.nist.gov/vuln/detail/CVE-2020-14359"},"summary":{"title":"CVE-2020-14359","description":"A vulnerability was found in all versions of Keycloak Gatekeeper, where on using lower case HTTP headers (via cURL) an attacker can bypass our Gatekeeper. Lower case headers are also accepted by some webservers (e.g. Jetty). This means there is no protection when we put a Gatekeeper in front of a Jetty server and use lowercase headers.","state":"PUBLIC","assigner":"secalert@redhat.com","published_at":"2021-02-23 13:15:00","updated_at":"2022-08-10 20:28:00"},"problem_types":["CWE-305"],"metrics":[],"references":[{"url":"https://issues.jboss.org/browse/KEYCLOAK-14090","name":"https://issues.jboss.org/browse/KEYCLOAK-14090","refsource":"MISC","tags":["Issue Tracking","Third Party Advisory"],"title":"Login server redirect","mime":"text/html","httpstatus":"200","archivestatus":"200"},{"url":"https://bugzilla.redhat.com/show_bug.cgi?id=1868591","name":"https://bugzilla.redhat.com/show_bug.cgi?id=1868591","refsource":"MISC","tags":["Issue Tracking","Vendor Advisory"],"title":"1868591 – (CVE-2020-14359) CVE-2020-14359 keycloak: gatekeeper bypass via cURL when using lower case HTTP headers","mime":"text/html","httpstatus":"200","archivestatus":"200"},{"url":"https://www.cve.org/CVERecord?id=CVE-2020-14359","name":"CVE Program record","refsource":"CVE.ORG","tags":["canonical"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2020-14359","name":"NVD vulnerability detail","refsource":"NVD","tags":["canonical","analysis"]}],"affected":[],"timeline":[],"solutions":[],"workarounds":[],"exploits":[],"credits":[],"nvd_cpes":[{"cve_year":"2020","cve_id":"14359","vulnerable":"1","versionEndIncluding":"","cpe1":"cpe","cpe2":"2.3","cpe3":"a","cpe4":"redhat","cpe5":"keycloak","cpe6":"*","cpe7":"*","cpe8":"*","cpe9":"*","cpe10":"*","cpe11":"*","cpe12":"*","cpe13":"*"},{"cve_year":"2020","cve_id":"14359","vulnerable":"1","versionEndIncluding":"1","cpe1":"cpe","cpe2":"2.3","cpe3":"a","cpe4":"redhat","cpe5":"keycloak","cpe6":"*","cpe7":"*","cpe8":"*","cpe9":"*","cpe10":"*","cpe11":"*","cpe12":"*","cpe13":"*"},{"cve_year":"2020","cve_id":"14359","vulnerable":"1","versionEndIncluding":"","cpe1":"cpe","cpe2":"2.3","cpe3":"a","cpe4":"redhat","cpe5":"louketo_proxy","cpe6":"*","cpe7":"*","cpe8":"*","cpe9":"*","cpe10":"*","cpe11":"*","cpe12":"*","cpe13":"*"}],"vendor_comments":[],"enrichments":{"kev":null,"epss":null,"legacy_qids":[]},"source_records":{"cve_program":{"data_version":"4.0","data_type":"CVE","data_format":"MITRE","CVE_data_meta":{"ID":"CVE-2020-14359","ASSIGNER":"secalert@redhat.com","STATE":"PUBLIC"},"description":{"description_data":[{"lang":"eng","value":"A vulnerability was found in all versions of Keycloak Gatekeeper, where on using lower case HTTP headers (via cURL) an attacker can bypass our Gatekeeper. Lower case headers are also accepted by some webservers (e.g. Jetty). This means there is no protection when we put a Gatekeeper in front of a Jetty server and use lowercase headers."}]},"problemtype":{"problemtype_data":[{"description":[{"lang":"eng","value":"CWE-305","cweId":"CWE-305"}]}]},"affects":{"vendor":{"vendor_data":[{"vendor_name":"n/a","product":{"product_data":[{"product_name":"keycloak","version":{"version_data":[{"version_affected":"=","version_value":"all versions as of 2021-02-22"}]}}]}}]}},"references":{"reference_data":[{"url":"https://issues.jboss.org/browse/KEYCLOAK-14090","refsource":"MISC","name":"https://issues.jboss.org/browse/KEYCLOAK-14090"},{"url":"https://bugzilla.redhat.com/show_bug.cgi?id=1868591","refsource":"MISC","name":"https://bugzilla.redhat.com/show_bug.cgi?id=1868591"}]}},"nvd":{"publishedDate":"2021-02-23 13:15:00","lastModifiedDate":"2022-08-10 20:28:00","problem_types":["CWE-305"],"metrics":{"baseMetricV3":{"cvssV3":{"version":"3.1","vectorString":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:L","attackVector":"NETWORK","attackComplexity":"LOW","privilegesRequired":"NONE","userInteraction":"NONE","scope":"UNCHANGED","confidentialityImpact":"LOW","integrityImpact":"LOW","availabilityImpact":"LOW","baseScore":7.3,"baseSeverity":"HIGH"},"exploitabilityScore":3.9,"impactScore":3.4},"baseMetricV2":{"cvssV2":{"version":"2.0","vectorString":"AV:N/AC:L/Au:N/C:P/I:P/A:P","accessVector":"NETWORK","accessComplexity":"LOW","authentication":"NONE","confidentialityImpact":"PARTIAL","integrityImpact":"PARTIAL","availabilityImpact":"PARTIAL","baseScore":7.5},"severity":"HIGH","exploitabilityScore":10,"impactScore":6.4,"acInsufInfo":false,"obtainAllPrivilege":false,"obtainUserPrivilege":false,"obtainOtherPrivilege":false,"userInteractionRequired":false}},"configurations":{"CVE_data_version":"4.0","nodes":[{"operator":"OR","children":[],"cpe_match":[{"vulnerable":true,"cpe23Uri":"cpe:2.3:a:redhat:louketo_proxy:*:*:*:*:*:*:*:*","cpe_name":[]}]}]}},"legacy_mitre":{"record":{"CveYear":"2020","CveId":"14359","Ordinal":"175589","Title":"CVE-2020-14359","CVE":"CVE-2020-14359","Year":"2020"},"notes":[{"CveYear":"2020","CveId":"14359","Ordinal":"1","NoteData":"A vulnerability was found in all versions of keycloak, where on using lower case HTTP headers (via cURL) we can bypass our Gatekeeper. Lower case headers are also accepted by some webservers (e.g. Jetty). This means there is no protection when we put a Gatekeeper in front of a Jetty server and use lowercase headers.","Type":"Description","Title":null},{"CveYear":"2020","CveId":"14359","Ordinal":"2","NoteData":"2021-02-23","Type":"Other","Title":"Published"},{"CveYear":"2020","CveId":"14359","Ordinal":"3","NoteData":"2021-02-23","Type":"Other","Title":"Modified"}]}}}