Lucene search

K
seebugRootSSV:93022
HistoryApr 24, 2017 - 12:00 a.m.

Chrome Universal XSS using a FrameNavigationDisabler bypass (CVE-2016-1673)

2017-04-2400:00:00
Root
www.seebug.org
14

0.012 Low

EPSS

Percentile

83.5%

VULNERABILITY DETAILS

When a top-level navigation is triggered on a frame displaying the initial empty document, FrameLoader::load is invoked directly:

void LocalFrame::navigate(Document& originDocument, const KURL& url, bool replaceCurrentItem, UserGestureStatus userGestureStatus) { (...) if (isMainFrame() && ! m_loader. stateMachine()->committedFirstRealDocumentLoad()) { FrameLoadRequest request(&originDocument, url); request. resourceRequest(). setHasUserGesture(userGestureStatus == UserGestureStatus::Active); m_loader. load(request); } else { m_navigationScheduler->scheduleLocationChange(&originDocument, url. getString(), replaceCurrentItem); } }

As a result, FrameNavigationDisabler will fail to prevent the navigation when the URL is loaded synchronously.

VERSION

Chrome 49.0.2623.87 (Stable)
Chrome 50.0.2661.49 (Beta)
Chrome 51.0.2687.0 (Dev)
Chromium 51.0.2690.0 + Pepper Flash (Release build compiled today)

Attachment: CVE-2016-1673