Background Details
Alternate data streams (ADS) were first implemented in the Windows NT operating system to provide compatibility between NTFS and the Macintosh Hierarchical File System (HFS). In HFS, data and resource forks are used to store information about a file. The data fork provides information about the contents of the file while the resource fork stores metadata such as file type.
Modes Of Introduction
Implementation
Applicable Platforms
Language
Class: Not Language-Specific (Undetermined)
Operating Systems
Class: Windows (Undetermined)
Common Consequences
Scope |
Impact |
Likelihood |
Access Control Non-Repudiation Other | Bypass Protection Mechanism, Hide Activities, Other | |
Observed Examples
References |
Description |
| In IIS, remote attackers can obtain source code for ASP files by appending "::$DATA" to the URL. |
| Product does not properly record file sizes if they are stored in alternative data streams, which allows users to bypass quota restrictions. |
Potential Mitigations
Phases : Testing
Software tools are capable of finding ADSs on your system.
Phases : Implementation
Ensure that the source code correctly parses the filename to read or write to the correct stream.
Vulnerability Mapping Notes
Justification : This CWE entry is at the Variant level of abstraction, which is a preferred level of abstraction for mapping to the root causes of vulnerabilities.
Comment : Carefully read both the name and description to ensure that this mapping is an appropriate fit. Do not try to 'force' a mapping to a lower-level Base/Variant simply to comply with this preferred level of abstraction.
Related Attack Patterns
CAPEC-ID |
Attack Pattern Name |
CAPEC-168 |
Windows ::DATA Alternate Data Stream An attacker exploits the functionality of Microsoft NTFS Alternate Data Streams (ADS) to undermine system security. ADS allows multiple "files" to be stored in one directory entry referenced as filename:streamname. One or more alternate data streams may be stored in any file or directory. Normal Microsoft utilities do not show the presence of an ADS stream attached to a file. The additional space for the ADS is not recorded in the displayed file size. The additional space for ADS is accounted for in the used space on the volume. An ADS can be any type of file. ADS are copied by standard Microsoft utilities between NTFS volumes. ADS can be used by an attacker or intruder to hide tools, scripts, and data from detection by normal system utilities. Many anti-virus programs do not check for or scan ADS. Windows Vista does have a switch (-R) on the command line DIR command that will display alternate streams. |
NotesNotes
This and similar problems exist because the same resource can have multiple identifiers that dictate which behavior can be performed on the resource.
References
REF-562
Windows NTFS Alternate Data Streams
Don Parker.
https://seclists.org/basics/2005/Feb/312 REF-7
Writing Secure Code
Michael Howard, David LeBlanc.
https://www.microsoftpressstore.com/store/writing-secure-code-9780735617223
Submission
Name |
Organization |
Date |
Date release |
Version |
PLOVER |
|
2006-07-19 +00:00 |
2006-07-19 +00:00 |
Draft 3 |
Modifications
Name |
Organization |
Date |
Comment |
Eric Dalci |
Cigital |
2008-07-01 +00:00 |
updated Time_of_Introduction |
CWE Content Team |
MITRE |
2008-09-08 +00:00 |
updated Applicable_Platforms, Background_Details, Description, Relationships, Other_Notes, References, Taxonomy_Mappings |
CWE Content Team |
MITRE |
2008-10-14 +00:00 |
updated Description |
CWE Content Team |
MITRE |
2009-10-29 +00:00 |
updated Other_Notes, Theoretical_Notes |
CWE Content Team |
MITRE |
2010-04-05 +00:00 |
updated Related_Attack_Patterns |
CWE Content Team |
MITRE |
2010-12-13 +00:00 |
updated Name |
CWE Content Team |
MITRE |
2011-06-01 +00:00 |
updated Common_Consequences |
CWE Content Team |
MITRE |
2012-05-11 +00:00 |
updated Observed_Examples, References, Relationships |
CWE Content Team |
MITRE |
2012-10-30 +00:00 |
updated Potential_Mitigations |
CWE Content Team |
MITRE |
2017-11-08 +00:00 |
updated Applicable_Platforms, References, Relationships |
CWE Content Team |
MITRE |
2018-03-27 +00:00 |
updated References |
CWE Content Team |
MITRE |
2019-01-03 +00:00 |
updated Related_Attack_Patterns |
CWE Content Team |
MITRE |
2020-02-24 +00:00 |
updated Relationships |
CWE Content Team |
MITRE |
2023-01-31 +00:00 |
updated Description |
CWE Content Team |
MITRE |
2023-04-27 +00:00 |
updated References, Relationships, Time_of_Introduction |
CWE Content Team |
MITRE |
2023-06-29 +00:00 |
updated Mapping_Notes |