BugTraq
Beginners error: Hewlett-Packards driver software executes rogue binary C:\Program.exe May 20 2014 10:14PM
Stefan Kanthak (stefan kanthak nexgo de)
Hi @ll,

several programs of the current Windows 7 driver software for the
"HP OfficeJet 6700" multifunction device execute a rogue program
C:\Program.exe

The evidence (an excerpt from the SAFER log, cf.
<http://technet.microsoft.com/en-us/library/bb457006.aspx> or
<https://www.microsoft.com/resources/documentation/windows/xp/all/proddo
cs/en-us/safer_trouble.mspx>):

HPScanDisco.exe (PID = 3980) identified C:\Program.exe as Unrestricted using default rule, Guid =
{11015445-d282-4f86-96a2-9e485f593302}
FaxApplications.exe (PID = 3148) identified C:\Program.exe as Unrestricted using default rule, Guid =
{11015445-d282-4f86-96a2-9e485f593302}
ScanToPCActivationApp.exe (PID = 2944) identified C:\Program.exe as Unrestricted using default rule, Guid =
{11015445-d282-4f86-96a2-9e485f593302}

In every instance these programs try to execute
C:\Program Files\HP\HP Officejet 6700\Bin\HPNetworkCommunicatorCom.exe

The vulnerability is the result of calling Windows' CreateProcess*()
with an unquoted command line containing spaces!

Cf. <http://msdn.microsoft.com/library/cc144175.aspx> or
<http://msdn.microsoft.com/library/cc144101.aspx>:

| Note: If any element of the command string contains or might contain
| spaces, it must be enclosed in quotation marks. Otherwise, if the
| element contains a space, it will not parse correctly. For instance,
| "My Program.exe" starts the application properly. If you use
| My Program.exe without quotation marks, then the system attempts to
| launch My with Program.exe as its first command line argument. You
| should always use quotation marks with arguments such as "%1" that are
| expanded to strings by the Shell, because you cannot be certain that
| the string will not contain a space.

HP: would you mind to hire just a few people for a little bit of QA?
And some more to teach beginner courses on (Windows) programming to
your developers?

"Long" filenames containing spaces are used in Windows for 20 years
now and your developers still dont get them right?

regards
Stefan Kanthak

JFTR: the driver for the HP OfficeJet 6700 is not the only one from HP
with such a trivial to detect bug and vulnerability.

Timeline:
~~~~~~~~~

2014-04-14 sent vulnerability report to vendor

2014-04-14 vendor replies: forwarded to responsible division, will
keep you informed

...

2014-05-17 request status

2014-05-19 vendor replies: no information from the lab

2014-05-20 vendor replies:
"after looking at this problem and discussing it previously
with Microsoft MSRC, we have decided that this unquoted
registry string is not a security issue.
...
We are not going to be issuing a patch or security bulletin
for this issue."

JFTR: the vulnerable pathname is NOT in the registry, but in the code!

2014-05-20 report published

[ reply ]


 

Privacy Statement
Copyright 2010, SecurityFocus