Title: Trusting Domains Do Not Verify Domain Membership of
SIDs in Authorization Data
Date: 30 January 2002
Software: Windows NT 4.0, Windows 2000
Impact: Privilege Elevation
Max Risk: Moderate
Bulletin: MS02-001
Microsoft encourages customers to review the Security Bulletin at:
http://www.microsoft.com/technet/security/bulletin/MS02-001.asp.
Trust relationships are created between Windows NT or Windows 2000
domains to allow users in one domain to access resources in other
domains without requiring them to authenticate separately to each
domain. When a user in a trusted domain requests access to a resource
in a trusting domain, the trusted domain supplies authorization data
in the form of a list of Security Identifiers (SIDs) that indicate
the user's identity and group memberships. The trusting domain uses
this data to determine whether to grant the user's request.
A vulnerability exists because the trusting domain does not verify
that the trusted domain is actually authoritative for all the SIDs in
the authorization data. If one of the SIDs in the list identified a
user or security group that is not in the trusted domain, the
trusting domain would accept the information and use it for
subsequent access control decisions. If an attacker inserted SIDs of
his choice into the authorization data at the trusted domain, he
could elevate his privileges to those associated with any desired
user or group, including the Domain Administrators group for the
trusting domain. This would enable the attacker to gain full Domain
Administrator access on computers in the trusting domain.
Exploiting this vulnerability would be difficult, and require
administrative privileges on the trusted domain, as well as the
technical wherewithal to modify low-level operating system functions
and data structures.
Microsoft has developed a mechanism called SID Filtering that
eliminates the vulnerability and adds further protection between
trusting domains. When installed and enabled on the domain
controllers of a trusting domain, SID Filtering causes the system to
inspect all incoming authorization data and remove any SIDs that do
not identify a user or security group that is defined in the trusted
domain.
There are, however, tradeoffs associated with using the SID Filtering
mechanism. These are summarized in the FAQ and Caveats sections
below, and are discussed in detail in Microsoft Knowledge Base
article Q289243 and in a technical white paper
(http://www.microsoft.com/windows2000/techinfo/administration/security
/sidfilter.asp) that Microsoft strongly urges administrators to read
before using SID Filtering. This is especially important in the case
of administrators who are in the midst of migrating their networks
from Windows NT 4.0 to Windows 2000.
THE INFORMATION PROVIDED IN THE MICROSOFT KNOWLEDGE BASE IS
PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND. MICROSOFT DISCLAIMS
ALL WARRANTIES, EITHER EXPRESS OR IMPLIED, INCLUDING THE
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
IN NO EVENT SHALL MICROSOFT CORPORATION OR ITS SUPPLIERS BE LIABLE
FOR ANY DAMAGES WHATSOEVER INCLUDING DIRECT, INDIRECT, INCIDENTAL,
CONSEQUENTIAL, LOSS OF BUSINESS PROFITS OR SPECIAL DAMAGES, EVEN IF
MICROSOFT CORPORATION OR ITS SUPPLIERS HAVE BEEN ADVISED OF THE
POSSIBILITY OF SUCH DAMAGES. SOME STATES DO NOT ALLOW THE EXCLUSION
OR LIMITATION OF LIABILITY FOR CONSEQUENTIAL OR INCIDENTAL DAMAGES SO
THE FOREGOING LIMITATION MAY NOT APPLY.