lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [day] [month] [year] [list]
Message-ID: <144D9E8B4277497D97140632F85BA789@celsius>
Date: Wed, 21 May 2014 00:14:26 +0200
From: "Stefan Kanthak" <stefan.kanthak@...go.de>
To: <fulldisclosure@...lists.org>
Cc: <bugtraq@...urityfocus.com>
Subject: Beginners error: Hewlett-Packards driver software executes rogue binary C:\Program.exe

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/proddocs/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

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ