The Mozilla Foundation has confirmed the problem and issued a fix, which is available here.
The reports indicate that links in a Web page using the "shell:" scheme can execute arbitrary programs on the users system. The attacker would have to know the location in the file system of the program, but there are known programs in Windows with buffer overflows.
This means the attacker could create a link in a Web page that could execute arbitrary code under Windows. Through the use of an appropriate META tag, the attack could load without the user having to click a link explicitly.
In the definition of a URI (Uniform Resource Identifier), the technical name for a Web address, "shell:" is not a protocol like http but a scheme. Some schemes map directly to protocol handlers in the browser itself or externally, such as those that handle audio and video media.
Current versions of Mozilla and Firefox pass unknown protocol handlers to the operating system shell to handle. In this case, the location passed to the shell is a program name that the shell executes.
Other researchers reported that certain links in Mozilla could cause a denial of service in the system by causing Mozilla to open large numbers of windows and consume 100 percent of CPU capacity.
An old discussion in the Mozilla bug report database considers the possibility of addressing this problem, but the developers decided against it since the program has a facility for letting the user disallow specific external protocols and schemes, including shell:. It is not disabled by default, though.
The developers considered changing from scheme blacklisting to whitelisting, in which case all schemes and protocols would be disallowed unless explicitly allowed. Mozilla Foundation spokesmen said a future version of the browsers will change to whitelisting, but the interim fix just disables the shell protocol. Several other schemes, such as vbscript, are already disabled by default.
Internet Explorer is reported as being less vulnerable. When the user clicks on the link, it opens an "open/save" dialog box in which the user is allowed either to run the program, save it to disk or cancel. Mozilla and Firefox simply run the program without any further user action.
The shell: syntax works only on Windows XP systems. According to one report, similar functionality is available on Windows 2000 but with different syntax.
eWEEK.com tested the reported vulnerability on Mozilla Firefox and confirmed the reported behavior. We also confirmed the appearance of the open/save dialog on Windows XP SP1. In our tests on Windows XP SP2, links with the shell: protocol failed to operate at all.
Editors Note: This story was updated to include a response from the Mozilla Foundation and further explanation of the bugs nature.
Be sure to add our eWEEK.com security news feed to your RSS newsreader or My Yahoo page: