Closed Bug 406680 Opened 17 years ago Closed 11 years ago

non-chrome popups can still escape the dimensions of the content area and do weird things (e.g. make the browser transparent)

Categories

(Core :: XUL, defect, P3)

x86
Linux
defect

Tracking

()

RESOLVED FIXED
Tracking Status
firefox-esr17 --- wontfix
firefox-esr24 --- unaffected
b2g18 --- unaffected

People

(Reporter: csthomas, Unassigned)

Details

(Keywords: qawanted, sec-moderate, Whiteboard: [sg:moderate?])

[separating from bug 378532] 1) Load http://ctho.ath.cx/tmp/crash.xul 2) Type this in the URL bar (don't press enter) javascript:for (var i=0; i<100000; i++) ; 5; 3) Press enter, and click the button before the page is replaced with the return value from setTimeout (most likely "2"). I couldn't reproduce this in Windows (though I was accessing the Windows box through (reasonably fast) VNC so I may not have gotten the events through quickly enough) but can reproduce it pretty easily on Linux. If that's not clear enough, these may help: http://ctho.ath.cx/tmp/ff2.avi - exploiting latest-1.8 http://ctho.ath.cx/tmp/ff3.avi - exploiting latest-trunk
Group: security
Forgot to security-flag the bug...sorry. Jesse, thanks for fixing. cc'ing people from the original bug.
FYI, the results I got: A) sometimes, I get a popup that exceeds the size of the content area B) sometimes, parts of the browser become invisble
3) Press enter, and click the button before the page is replaced with the return value from setTimeout (most likely "2"). What setTimeout are you referring to? Also, I can't get the videos to work.
(In reply to comment #3) > 3) Press enter, and click the button before the page is replaced with the > return value from setTimeout (most likely "2"). > What setTimeout are you referring to? Sorry, I used to have a setTimeout() instead of the for loop. Do it before the page is replaced with the return value from the "5;". > Also, I can't get the videos to work. http://www.xvid.org/Downloads.15.0.html (Divx or other MPEG4 codecs might handle them).
I can reproduce the invisible browser situation. Hard to tell exactly what's going on, but the global stylesheet isn't being included in the testcase, which causes the popup to be transparent. DOM inspector shows the background of the popup as 'transparent'. A popup in a content window should never be transparent though. Maybe the other Neil has some insight here.
(In reply to comment #5) >A popup in a content window should never be transparent though. We shouldn't even be calling the SetWindowTranslucency API for content popups.
Flags: blocking1.9?
Whiteboard: [sg:moderate?]
+'ing with P3.
Flags: blocking1.9? → blocking1.9+
Priority: -- → P3
It's possible that the transparency issue is the same as bug 322074.
qawanted: did bug 322074 actually fix this?
Keywords: qawanted
Flags: tracking1.9+ → wanted-next+
Component: General → XUL
QA Contact: general → xptoolkit.widgets
Is this still an issue now that remote XUL is prevented?
Status: NEW → RESOLVED
Closed: 11 years ago
Resolution: --- → FIXED
Is remote XUL disabled in b2g18? Hopefully.
Group: core-security → core-security-release
Group: core-security-release
You need to log in before you can comment on or make changes to this bug.