Summary: | DOMSubTreeModified event handler can cause 100% CPU use and stack exhaustion | ||||||
---|---|---|---|---|---|---|---|
Product: | WebKit | Reporter: | Berend-Jan Wever <skylined> | ||||
Component: | DOM | Assignee: | Nobody <webkit-unassigned> | ||||
Status: | NEW --- | ||||||
Severity: | Normal | CC: | eric, inferno, sam, yong.li.webkit | ||||
Priority: | P1 | Keywords: | InRadar | ||||
Version: | 528+ (Nightly build) | ||||||
Hardware: | PC | ||||||
OS: | Windows Vista | ||||||
URL: | http://skypher.com/SkyLined/Repro/Safari/document.body%20DOMSubTreeModified%20event%20loop/100%25%20CPU.html | ||||||
Attachments: |
|
Description
Berend-Jan Wever
2008-08-06 06:01:09 PDT
The second example I provided actually ends up overwriting EIP with NULL in WebKit nightly. Marking as security sensitive - control over EIP could lead to arbitrary code execution. I have no proof that this can be used to overwrite EIP with anything but NULL, but I can't prove that it's impossible. I'm surprised we don't already have an arbitrary JS recursion limit for number of calls back into JS from C++. Maybe we do and I'm just not aware of it. That would be a simple way to fix this class of problems. Marking this as p1 since it's a reproducible crash. Created attachment 28236 [details]
stack overflow crash
Should this be a security bug? I thought there were many ways one could accomplish stack exhaustion or 100% cpu in JS? No OOM crashes are not considered security. there should be numerous ways for 100% cpu usage. Yes, I reported this way back when we (briefly) treated renderer DoS as a security issue. I've updated the flags, except importance as I have no idea what to set it to. You can probably just close this out, as we have more important things to focus on. Mass move bugs into the DOM component. |