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
Microsoft encourages customers to review the Security Bulletin at:
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.
- Windows NT 4.0 provides no mechanism by which additional
SIDs could be added to authorization data. To exploit the
vulnerability, an attacker would need to develop and
install custom operating system components to add the
- Windows 2000 does provide a mechanism for introducing
additional SIDs into authorization data, known as
SIDHistory. However, there is no programming interface that
would allow an attacker - even with administrative rights -
to introduce a desired SID into the SIDHistory information;
instead, an attacker would need to perform a binary edit of
the data structures that hold the SIDHistory information.
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
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
/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 attacker would need to have domain administrator privileges
in the trusted domain in order to exploit the vulnerability.
- The attacker's domain would need to already be trusted by
the target domain, or the target domain's administrator would
need to approve the establishment of a new trust relationship.
- There is no capability for the attacker to unilaterally
initiate a trust relationship with another domain or cause it
to trust the attacker's domain.
- The attacker would need to modify operating system components
- Internet systems: Low
- Intranet systems: Moderate
- Client systems: None
- A patch is available to fix this vulnerability. Please read the
Security Bulletin at
for information on obtaining this patch.
- Aelita Software (http://www.aelita.com)
- Michel Trepanier of CMT Inc. and Loto-Quebec.
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.