Chrome Universal XSS using... CVE-2015-6770 CNVD-2015-07959 CNNVD-201512-051

7.5 AV AC AU C I A
发布: 2015-12-06
修订: 2023-11-07

#### VULNERABILITY DETAILS From /third_party/WebKit/Source/core/dom/Document.cpp: ``` PassRefPtrWillBeRawPtr<Node> Document::adoptNode(PassRefPtrWillBeRawPtr<Node> source, ExceptionState& exceptionState) { EventQueueScope scope; switch (source->nodeType()) { (...) default: (...) if (source->parentNode()) { source->parentNode()->removeChild(source.get(), exceptionState); if (exceptionState.hadException()) return nullptr; } } this->adoptIfNeeded(*source); return source; } ``` This code expects that |removeChild(source.get(), exceptionState)| will either detach the source node or throw an exception if it can't be done. However, the child can be reattached immediately after removal (through HTMLScriptElement::childrenChanged) if the parent node is a pending script whose type has recently changed to valid. In such case, ContainerNode::removeChild doesn't throw any exception. Consequently, the adopted node will end up in a wrong tree scope, which may lead to GC crashes and inconsistent...

0%
暂无可用Exp或PoC
当前有1条受影响产品信息