Shell Security
PM: Loren Kohnfelder (LorenK)
Dev: Bryan Starbuck (Bryanst)
Test: Doug Dobbins (DougDob)
1. CIFS Security Checks
CIFs is a standard Microsoft supports to expand UNC support across the internet by using DNS
names. It's possible to open a Shell Folder to \\www.mycompany.com\share\subdir1\. The Zones
Status Bar is the primary way the user is informed about where they are and whether they should
trust the contents of this folder. We do zone checks on actions if the list of files is hosted
by HTML because the host HTML can mislead the user into launching items.
DefView (the window containing the list of File System items) can be hosted in the following situations:
- Directly in a Shell Folder: We do no checking because the user knows where they are because of the Zones Status Bar Pane and the Address Bar.
- In WebView: We zone check the URL where the WebView template came from because we are suspicious that the author may be misrepresenting the DefView.
- In a WebPage (Using IFRAME file URL): We zone check the URL of the html because we are suspicious that the author may be misrepresenting the DefView.
- Other container: We QueryService up to see if they support IInternetSecurityManager (or one of those interfaces) to see if they can tell us where they are from. Otherwise, we fall back to being considered unsafe.
What if the zone check fails?
- Exec: we ask the user if they really want to launch the selected file.
- Drag & Drop: we always allow this in the DefView case but not the HTML hosted case. We just turn this off if the zone check fails.
- Content Menu: We ask the user if they really want this to appear. (I think someone else added this)
CIFS Specs
FTP Tests