Doorkeeper 4.2.5 Cross Site Scripting

2018.02.26
Credit: Justin Bull
Risk: Low
Local: No
Remote: Yes
CWE: CWE-79


CVSS Base Score: 4.3/10
Impact Subscore: 2.9/10
Exploitability Subscore: 8.6/10
Exploit range: Remote
Attack complexity: Medium
Authentication: No required
Confidentiality impact: None
Integrity impact: Partial
Availability impact: None

Software: --------- Doorkeeper (https://github.com/doorkeeper-gem/doorkeeper) Description: ------------ Doorkeeper is an OAuth 2 provider for Rails written in Ruby. Affected Versions: ------------------ 2.1.0 - 4.2.5 Fixed Versions: --------------- 4.2.6 or later Problem: -------- Stored XSS on the OAuth Client's name will cause users being prompted for consent via the "implicit" grant type to execute the XSS payload. The XSS attack could gain access to the user's active session, resulting in account compromise. Any user is susceptible if they click the authorization link for the malicious OAuth client. Because of how the links work, a user cannot tell if a link is malicious or not without first visiting the page with the XSS payload. The requirement for this attack to be dangerous in the wild is the software using Doorkeeper must allow regular users to create or edit OAuth client applications. If 3rd parties are allowed to create OAuth clients in the app using Doorkeeper, upgrade to the patched versions immediately. Additionally there is stored XSS in the native_redirect_uri form element. DWF has assigned CVE-2018-1000088. Solution: --------- Upgrade to Doorkeeper v4.2.6 or later Timeline: --------- 2017-05-25: Discovered by Gauthier Monserand[0] 2017-05:25: Fix prepared by Gauthier Monserand[1] 2017-05-26: Maintainer released patched version 2018-02-17: CVE requested 2018-02-20: CVE assigned via DWF 2018-02-21: Bulletin published[2] Acknowledgements: ----------------- Credit to Gauthier Monserand (https://github.com/simkim) for finding and fixing this vulnerability. References: ----------- [0]: https://github.com/doorkeeper-gem/doorkeeper/issues/969 [1]: https://github.com/doorkeeper-gem/doorkeeper/pull/970 [2]: https://blog.justinbull.ca/cve-2018-1000088-stored-xss-in-doorkeeper/ -- UPDATE: > > Solution: > --------- > Upgrade to Doorkeeper v4.2.6 or later > > Apologies. This fails to account for a non-trivial scenario. Any software using Doorkeeper that has generated its own custom views[0] requires manual work to verify there's no explicit HTML in the `client_name` and `native_redirect_uri` field values. This has been updated in the bulletin's Fix section[1]. [0]: https://github.com/doorkeeper-gem/doorkeeper/wiki/Customizing-views [1]: https://blog.justinbull.ca/cve-2018-1000088-stored-xss-in-doorkeeper/#fix -- Justin Bull PGP Fingerprint: E09D 38DE 8FB7 5745 2044 A0F4 1A2B DEAA 68FD B34C


Vote for this issue:
50%
50%


 

Thanks for you vote!


 

Thanks for you comment!
Your message is in quarantine 48 hours.

Comment it here.


(*) - required fields.  
{{ x.nick }} | Date: {{ x.ux * 1000 | date:'yyyy-MM-dd' }} {{ x.ux * 1000 | date:'HH:mm' }} CET+1
{{ x.comment }}

Copyright 2018, cxsecurity.com

 

Back to Top