40 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
			
		
		
	
	
			40 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
| # CVE-2024-21637
 | |
| 
 | |
| _Reported by [@lauritzh](https://github.com/lauritzh)_
 | |
| 
 | |
| ## XSS in Authentik via JavaScript-URI as Redirect URI and form_post Response Mode
 | |
| 
 | |
| ### Summary
 | |
| 
 | |
| Given an OAuth2 provider configured with allowed redirect URIs set to `*` or `.*`, an attacker can send an OAuth Authorization request using `response_mode=form_post` and setting `redirect_uri` to a malicious URI, to capture authentik's session token.
 | |
| 
 | |
| ### Patches
 | |
| 
 | |
| authentik 2023.8.6 and 2023.10.6 fix this issue.
 | |
| 
 | |
| ### Impact
 | |
| 
 | |
| The impact depends on the attack scenario. In the following I will describe the two scenario that were identified for Authentik.
 | |
| 
 | |
| #### Redirect URI Misconfiguration
 | |
| 
 | |
| While advising that this may cause security issues, Authentik generally allows wildcards as Redirect URI. Therefore, using a wildcard-only effectively allowing arbitrary URLS is possible misconfiguration that may be present in real-world instances.
 | |
| 
 | |
| In such cases, unauthenticated and unprivileged attackers can perform the above described actions.
 | |
| 
 | |
| ### User with (only) App Administration Permissions
 | |
| 
 | |
| A more likely scenario is an administrative user (e.g. a normal developer) having only permissions to manage applications.
 | |
| 
 | |
| This relatively user could use the described attacks to perform a privilege escalation.
 | |
| 
 | |
| ### Workaround
 | |
| 
 | |
| It is recommended to upgrade to the patched version of authentik. If not possible, ensure that OAuth2 providers do not use a wildcard (`*` or `.*`) value as allowed redirect URI setting. (This is _not_ exploitable if part of the redirect URI has a wildcard, for example `https://foo-.*\.bar\.com`)
 | |
| 
 | |
| ### For more information
 | |
| 
 | |
| If you have any questions or comments about this advisory:
 | |
| 
 | |
| -   Email us at [security@goauthentik.io](mailto:security@goauthentik.io)
 | 
