<<< Date Index >>>     <<< Thread Index >>>

Microsoft Windows 2000/XP/2003/Vista ReadDirectoryChangesW informaton leak




Title:          Microsoft Windows 2000/XP/2003/Vista ReadDirectoryChangesW
                informaton leak
Author:         3APA3A, http://securityvulns.com
Affected:       Microsoft Windows 2000,XP,2003,Vista
Exploitable:    Yes
Type:           Remote  (from  local  network), authentication required
                (NULL session was not tested).
Class:          Information leak, insecure design
CVE:            CVE-2007-0843
Original
Advisory:       http://securityvulns.com/advisories/readdirectorychanges.asp
SecurityVulns
news:           
http://securityvulns.com/news/Microsoft/Windows/ReadDirector.html


Intro:

It's  very simple yet interesting vulnerability. ReadDirectoryChangesW()
API  allows  application  to  monitor  directory  changes  in real time.
bWatchSubtree  parameter  of  this  functions  allows to monitor changes
within  whole  directory  tree  with  of monitored directory. To monitor
changes directory must be open with LIST (READ) access. Function returns
the   list   of  modified  files  with  a  type  of  modification.  File
modification refers to any modification of file record in directory.

Vulnerability:

ReadDirectoryChangesW()  doesn't  check  user's  permissions  for  child
child  objects,  making  it's  possible  to  retrieve  information about
objects user has no "LIST" permissions.

Impact:

Any  unprivileged  user with LIST access to parent directory can monitor
any  files  in  child directories regardless of subdirectories and files
permissions.  Because  by  default  Windows  updates  access time of any
accessed  files on NTFS volumes, it makes it possible for user to gather
information  about  NTFS-protected files, their names and time of access
to  the  files  (reading,  writing,  creation, deletion, renaming, etc).
Filenames  may  contain  sensitive information or leak information about
user's behavior (e.g. cookies files).

In  addition  to  it's own impact, this vulnerability elevates impact of
few  different  vulnerabilities  and  common  practices,  to be reported
later.

Exploit:

http://securityvulns.com/files/spydir.c

 compiled version of Spydir is available from

http://securityvulns.com/soft/

 Usage example:

spydir \\corpsrv\corpdata

I  believe  you  find  this  utility  useful regardless of this security
issue.  It shows names of accessed/modified files for given directory in
real time (it seems there are non-security bugs in ReadDirectoryChangesW
implementations,  e.g.  you can not see non-ASCII names and some changes
are missing).

Workaround:

Avoid  creation  of  more secure folder in less secure ones. Avoid using
sensitive data in documents naming.

Vendor (Microsoft):

January, 17 2006          Initial vendor notification
January, 18 2006          Vendor reply (assigned)
January, 26 2006          2nd vendor notification
February, 7 2006          3rd vendor notification
February, 9 2006          Vendor accepted vulnerability as "service pack
                          class" for Windows XP and Windows 2003.
February, 9 2006          Accepted to wait until SP
February, 22 2006         Vendor gives SP timelines (late 2006 for W2K3
                          SP2 and 2007 for XP SP3)
February, 22  2007        Public  release,  because  Windows Vista is
                          released with same vulnerability.