{"id":"CVE-2024-47070","state":"PUBLISHED","title":"authentik vulnerable to password authentication bypass via X-Forwarded-For HTTP header","description":"authentik is an open-source identity provider. A vulnerability that exists in versions prior to 2024.8.3 and 2024.6.5 allows bypassing password login by adding X-Forwarded-For header with an unparsable IP address, e.g. `a`. This results in a possibility of logging into any account with a known login or email address. The vulnerability requires the authentik instance to trust X-Forwarded-For header provided by the attacker, thus it is not reproducible from external hosts on a properly configured environment.  The issue occurs due to the password stage having a policy bound to it, which skips the password stage if the Identification stage is setup to also contain a password stage. Due to the invalid X-Forwarded-For header, which does not get validated to be an IP Address early enough, the exception happens later and the policy fails. The default blueprint doesn't correctly set `failure_result` to `True` on the policy binding meaning that due to this exception the policy returns false and the password stage is skipped. Versions 2024.8.3 and 2024.6.5 fix this issue.","publishedAt":"2024-09-27T15:18:03.999Z","updatedAt":"2024-09-27T17:55:55.382Z","severity":{"score":9.1,"label":"Critical","version":"3.1","vector":"CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:C/C:H/I:H/A:H","source":"GitHub_M"},"assigner":"GitHub_M","products":["goauthentik authentik"],"affected":[{"vendor":"goauthentik","product":"authentik","versions":[{"version":">= 2024.8.0-rc1, < 2024.8.3","status":"affected"},{"version":"< 2024.6.5","status":"affected"}]}],"references":["https://github.com/goauthentik/authentik/security/advisories/GHSA-7jxf-mmg9-9hg7","https://github.com/goauthentik/authentik/commit/78f7b04d5a62b2a9d4316282a713c2c7857dbe29","https://github.com/goauthentik/authentik/commit/dd8f809161e738b25765797eb2a5c77a7d3fc2cf"],"weaknesses":["CWE-287"],"ingestedAt":"2026-10-29T20:07:56.516Z","source":{"repository":"CVEProject/cvelistV5","path":"cves/2024/47xxx/CVE-2024-47070.json","commit":"556c9d3a8cd17e218bb8e452ba7cd619a384ff47"},"raw":{"dataType":"CVE_RECORD","dataVersion":"5.1","cveMetadata":{"cveId":"CVE-2024-47070","state":"PUBLISHED","datePublished":"2024-09-27T15:18:03.999Z","dateUpdated":"2024-09-27T17:55:55.382Z","assignerShortName":"GitHub_M","assignerOrgId":"a0819718-46f1-4df5-94e2-005712e83aaa","dateReserved":"2024-09-17T17:42:37.029Z"},"containers":{"cna":{"title":"authentik vulnerable to password authentication bypass via X-Forwarded-For HTTP header","descriptions":[{"lang":"en","value":"authentik is an open-source identity provider. A vulnerability that exists in versions prior to 2024.8.3 and 2024.6.5 allows bypassing password login by adding X-Forwarded-For header with an unparsable IP address, e.g. `a`. This results in a possibility of logging into any account with a known login or email address. The vulnerability requires the authentik instance to trust X-Forwarded-For header provided by the attacker, thus it is not reproducible from external hosts on a properly configured environment.  The issue occurs due to the password stage having a policy bound to it, which skips the password stage if the Identification stage is setup to also contain a password stage. Due to the invalid X-Forwarded-For header, which does not get validated to be an IP Address early enough, the exception happens later and the policy fails. The default blueprint doesn't correctly set `failure_result` to `True` on the policy binding meaning that due to this exception the policy returns false and the password stage is skipped. Versions 2024.8.3 and 2024.6.5 fix this issue."}],"affected":[{"vendor":"goauthentik","product":"authentik","versions":[{"version":">= 2024.8.0-rc1, < 2024.8.3","status":"affected"},{"version":"< 2024.6.5","status":"affected"}]}],"references":[{"url":"https://github.com/goauthentik/authentik/security/advisories/GHSA-7jxf-mmg9-9hg7","name":"https://github.com/goauthentik/authentik/security/advisories/GHSA-7jxf-mmg9-9hg7","tags":["x_refsource_CONFIRM"]},{"url":"https://github.com/goauthentik/authentik/commit/78f7b04d5a62b2a9d4316282a713c2c7857dbe29","name":"https://github.com/goauthentik/authentik/commit/78f7b04d5a62b2a9d4316282a713c2c7857dbe29","tags":["x_refsource_MISC"]},{"url":"https://github.com/goauthentik/authentik/commit/dd8f809161e738b25765797eb2a5c77a7d3fc2cf","name":"https://github.com/goauthentik/authentik/commit/dd8f809161e738b25765797eb2a5c77a7d3fc2cf","tags":["x_refsource_MISC"]}],"metrics":[{"cvssV3_1":{"attackComplexity":"HIGH","attackVector":"NETWORK","availabilityImpact":"HIGH","baseScore":9.1,"baseSeverity":"CRITICAL","confidentialityImpact":"HIGH","integrityImpact":"HIGH","privilegesRequired":"NONE","scope":"CHANGED","userInteraction":"NONE","vectorString":"CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:C/C:H/I:H/A:H","version":"3.1"}}],"problemTypes":[{"descriptions":[{"cweId":"CWE-287","lang":"en","description":"CWE-287: Improper Authentication","type":"CWE"}]}],"providerMetadata":{"shortName":"GitHub_M","orgId":"a0819718-46f1-4df5-94e2-005712e83aaa","dateUpdated":"2024-09-27T15:29:58.025Z"},"source":{"advisory":"GHSA-7jxf-mmg9-9hg7","discovery":"UNKNOWN"}},"adp":[{"title":"CISA ADP Vulnrichment","affected":[{"vendor":"goauthentik","product":"authentik","defaultStatus":"unknown","versions":[{"version":"0","status":"affected","lessThan":"2024.6.5","versionType":"custom"},{"version":"2024.8.0-rc1","status":"affected","lessThan":"2024.8.3","versionType":"custom"}],"cpes":["cpe:2.3:a:goauthentik:authentik:*:*:*:*:*:*:*:*"]}],"metrics":[{"other":{"type":"ssvc","content":{"timestamp":"2024-09-27T17:53:28.310260Z","id":"CVE-2024-47070","options":[{"Exploitation":"none"},{"Automatable":"no"},{"Technical Impact":"total"}],"role":"CISA Coordinator","version":"2.0.3"}}}],"providerMetadata":{"shortName":"CISA-ADP","orgId":"134c704f-9b21-4f2e-91b3-4a467353bcc0","dateUpdated":"2024-09-27T17:55:55.382Z"}}]}}}