Closed Bug 261339 Opened 20 years ago Closed 20 years ago

Setting capability.policy.default.Window.top to noAccess seems to crash mozilla

Categories

(Core :: Security: CAPS, defect)

x86
Windows XP
defect
Not set
critical

Tracking

()

RESOLVED FIXED

People

(Reporter: timeless, Assigned: timeless)

References

(Depends on 1 open bug, )

Details

(Keywords: crash)

Attachments

(1 file)

Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8a4) Gecko/20040922

1. load about:config
2. right click the list
3. select new > string
4. capability.policy.default.Window.top<enter>
5. noAccess<enter>
6. right click the list
Whiteboard: tb961187h tb961188e tb961189y
Stack Signature	 0x09d1265d be0728b2
Product ID	MozillaTrunk
Build ID	2004092206
Trigger Time	2004-09-23 22:15:41.0
Platform	Win32
Operating System	Windows NT 5.1 build 2600
Module	
URL visited	about:config
User Comments	right click new>string capability.policy.default.Window.top
noAccess ok right click
Since Last Crash	35460 sec
Total Uptime	115681 sec
Trigger Reason	Access violation
Source File, Line No.	N/A
Stack Trace 	
0x09d1265d
nsScriptSecurityManager::LookupPolicy 
[c:/builds/tinderbox/MozillaTrunk/WINNT_5.0_Clobber/mozilla/caps/src/nsScriptSecurityManager.cpp,
line 1005]
nsScriptSecurityManager::CheckPropertyAccessImpl 
[c:/builds/tinderbox/MozillaTrunk/WINNT_5.0_Clobber/mozilla/caps/src/nsScriptSecurityManager.cpp,
line 618]
nsScriptSecurityManager::CheckPropertyAccess 
[c:/builds/tinderbox/MozillaTrunk/WINNT_5.0_Clobber/mozilla/caps/src/nsScriptSecurityManager.cpp,
line 475]
nsScriptSecurityManager::CheckObjectAccess 
[c:/builds/tinderbox/MozillaTrunk/WINNT_5.0_Clobber/mozilla/caps/src/nsScriptSecurityManager.cpp,
line 459]
js_InternalGetOrSet 
[c:/builds/tinderbox/MozillaTrunk/WINNT_5.0_Clobber/mozilla/js/src/jsinterp.c,
line 1417]
js_GetProperty 
[c:/builds/tinderbox/MozillaTrunk/WINNT_5.0_Clobber/mozilla/js/src/jsobj.c, line
2711]
JS_GetProperty 
[c:/builds/tinderbox/MozillaTrunk/WINNT_5.0_Clobber/mozilla/js/src/jsapi.c, line
2554]
nsXPCWrappedJSClass::CallMethod 
[c:/builds/tinderbox/MozillaTrunk/WINNT_5.0_Clobber/mozilla/js/src/xpconnect/src/xpcwrappedjsclass.cpp,
line 1316]
nsXPCWrappedJS::CallMethod 
[c:/builds/tinderbox/MozillaTrunk/WINNT_5.0_Clobber/mozilla/js/src/xpconnect/src/xpcwrappedjs.cpp,
line 450]
PrepareAndDispatch 
[c:/builds/tinderbox/MozillaTrunk/WINNT_5.0_Clobber/mozilla/xpcom/reflect/xptcall/src/md/win32/xptcstubs.cpp,
line 119]
SharedStub 
[c:/builds/tinderbox/MozillaTrunk/WINNT_5.0_Clobber/mozilla/xpcom/reflect/xptcall/src/md/win32/xptcstubs.cpp,
line 147]
nsXULElement::IsFocusable 
[c:/builds/tinderbox/MozillaTrunk/WINNT_5.0_Clobber/mozilla/content/xul/content/src/nsXULElement.cpp,
line 1441]
nsIFrame::IsFocusable 
[c:/builds/tinderbox/MozillaTrunk/WINNT_5.0_Clobber/mozilla/layout/html/base/src/nsFrame.cpp,
line 4551]
nsEventStateManager::PostHandleEvent 
[c:/builds/tinderbox/MozillaTrunk/WINNT_5.0_Clobber/mozilla/content/events/src/nsEventStateManager.cpp,
line 1874]
PresShell::HandleEventInternal 
[c:/builds/tinderbox/MozillaTrunk/WINNT_5.0_Clobber/mozilla/layout/html/base/src/nsPresShell.cpp,
line 5982]
PresShell::HandleEvent 
[c:/builds/tinderbox/MozillaTrunk/WINNT_5.0_Clobber/mozilla/layout/html/base/src/nsPresShell.cpp,
line 5814]
nsViewManager::HandleEvent 
[c:/builds/tinderbox/MozillaTrunk/WINNT_5.0_Clobber/mozilla/view/src/nsViewManager.cpp,
line 2300]
nsViewManager::DispatchEvent 
[c:/builds/tinderbox/MozillaTrunk/WINNT_5.0_Clobber/mozilla/view/src/nsViewManager.cpp,
line 2030]
HandleEvent 
[c:/builds/tinderbox/MozillaTrunk/WINNT_5.0_Clobber/mozilla/view/src/nsView.cpp,
line 168]
nsWindow::DispatchEvent 
[c:/builds/tinderbox/MozillaTrunk/WINNT_5.0_Clobber/mozilla/widget/src/windows/nsWindow.cpp,
line 1078]
nsWindow::DispatchWindowEvent 
[c:/builds/tinderbox/MozillaTrunk/WINNT_5.0_Clobber/mozilla/widget/src/windows/nsWindow.cpp,
line 1095]
nsWindow::DispatchMouseEvent 
[c:/builds/tinderbox/MozillaTrunk/WINNT_5.0_Clobber/mozilla/widget/src/windows/nsWindow.cpp,
line 5348]
ChildWindow::DispatchMouseEvent 
[c:/builds/tinderbox/MozillaTrunk/WINNT_5.0_Clobber/mozilla/widget/src/windows/nsWindow.cpp,
line 5600]
nsWindow::ProcessMessage 
[c:/builds/tinderbox/MozillaTrunk/WINNT_5.0_Clobber/mozilla/widget/src/windows/nsWindow.cpp,
line 4106]
nsWindow::WindowProc 
[c:/builds/tinderbox/MozillaTrunk/WINNT_5.0_Clobber/mozilla/widget/src/windows/nsWindow.cpp,
line 1356]
USER32.dll + 0x8709 (0x77d48709)
USER32.dll + 0x87eb (0x77d487eb)
USER32.dll + 0x89a5 (0x77d489a5)
USER32.dll + 0x89e8 (0x77d489e8)
nsAppShell::Run 
[c:/builds/tinderbox/MozillaTrunk/WINNT_5.0_Clobber/mozilla/widget/src/windows/nsAppShell.cpp,
line 159]
nsAppShellService::Run 
[c:/builds/tinderbox/MozillaTrunk/WINNT_5.0_Clobber/mozilla/xpfe/appshell/src/nsAppShellService.cpp,
line 489]
main1 
[c:/builds/tinderbox/MozillaTrunk/WINNT_5.0_Clobber/mozilla/xpfe/bootstrap/nsAppRunner.cpp,
line 1331]
main 
[c:/builds/tinderbox/MozillaTrunk/WINNT_5.0_Clobber/mozilla/xpfe/bootstrap/nsAppRunner.cpp,
line 1802]
WinMain 
[c:/builds/tinderbox/MozillaTrunk/WINNT_5.0_Clobber/mozilla/xpfe/bootstrap/nsAppRunner.cpp,
line 1828]
WinMainCRTStartup()
kernel32.dll + 0x16d4f (0x7c816d4f)

all three stacks are approximately the same, the last one has one frame between
#0 and what the others have as the tail:

PL_DHashTableOperate 
[c:/builds/tinderbox/MozillaTrunk/WINNT_5.0_Clobber/mozilla/xpcom/ds/pldhash.c,
line 491]
Whiteboard: tb961187h tb961188e tb961189y
Assignee: nobody → timeless
Status: UNCONFIRMED → ASSIGNED
Attachment #163675 - Flags: superreview?(brendan)
Attachment #163675 - Flags: review?(caillon)
Comment on attachment 163675 [details] [diff] [review]
if mPolicyPrefsChanged then InitPolicies() will stomp over aPrincipal,mSecurityPolicy

This looks right from my reading over the code in InitPolicies()
Attachment #163675 - Flags: review?(caillon) → review+
Comment on attachment 163675 [details] [diff] [review]
if mPolicyPrefsChanged then InitPolicies() will stomp over aPrincipal,mSecurityPolicy

Looks OK-ish. My worry is that if InitPolicies() is trashing the policy on
*this* principal, we've just trashed all the other principals held elsewhere in
the code.

I need to satisfy myself that this is OK first
Attachment #163675 - Flags: superreview?(brendan) → superreview?(dveditz)
Comment on attachment 163675 [details] [diff] [review]
if mPolicyPrefsChanged then InitPolicies() will stomp over aPrincipal,mSecurityPolicy

OK, that's the only call to GetSecurityPolicy, but there are several ways into
LookupPolicy. I think you'll crash after this on other principals.

IIRC capability prefs were originally designed to be set at startup and left
alone. That's still true in normal use (though not with the "Zone" setting
designs people are trying to come up with) so I guess I won't worry too much
about crashes hiding behind this one.
Attachment #163675 - Flags: superreview?(dveditz) → superreview+
mozilla/caps/src/nsScriptSecurityManager.cpp 	1.242
Status: ASSIGNED → RESOLVED
Closed: 20 years ago
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: