CWE
Home > CWE List > CWE- Individual Dictionary Definition (1.1)  
Search by ID:

CWE-62: UNIX Hard Link

Individual Definition in a New Window
UNIX Hard Link
Status: Incomplete
Weakness ID: 62 (Weakness Variant)
Description
Summary

The software, when opening a file or directory, does not sufficiently account for when the name is associated with a hard link to a target that is outside of the intended control sphere. This could allow an attacker to cause the software to operate on unauthorized files.

Extended Description

Failure for a system to check for hard links can result in vulnerability to different types of attacks. For example, an attacker can escalate their privileges if a file used by a privileged program is replaced with a hard link to a sensitive file (e.g. /etc/passwd). When the process opens the file, the attacker can assume the privileges of that process.

Weakness Ordinalities
Resultant (where the weakness is typically related to the presence of some other weaknesses)
Causal Nature
Explicit (an explicit weakness resulting from behavior of the developer)
Potential Mitigations

Follow the principle of least privilege when assigning access rights to files. Denying access to a file can prevent an attacker from replacing that file with a link to a sensitive file. Ensure good compartmentalization in the system to provide protected areas that can be trusted.

Observed Examples
ReferenceDescription
OpenBSD chpass/chfn/chsh file content leak
 
Hard link attack, file overwrite; interesting because program checks against soft links
 
 
 
 
Hard link race condition
Research Gaps

Under-studied. It is likely that programs that check for symbolic links could be vulnerable to hard links.

Relationships
NatureTypeIDNameView(s) this relationship pertains toView(s)
ChildOfCategoryCategory60UNIX Path Link Problems
Resource-specific Weaknesses (primary)631
Development Concepts (primary)699
ChildOfWeakness BaseWeakness BaseWeakness Base59Failure to Resolve Links Before File Access (aka 'Link Following')
Research Concepts (primary)1000
ChildOfCategoryCategory743CERT C Secure Coding Section 09 - Input Output (FIO)
Weaknesses Addressed by the CERT C Secure Coding Standard (primary)734
PeerOfWeakness VariantWeakness VariantWeakness Variant71Apple '.DS_Store'
Research Concepts1000
Taxonomy Mappings
Mapped Taxonomy NameNode IDMapped Node Name
PLOVER UNIX hard link
CERT C Secure CodingFIO05-CIdentify files using multiple file attributes
Applicable Platforms
Languages
All
Operating Systems
UNIX
Time of Introduction
* Implementation
Content History
Submissions
PLOVER. (Externally Mined)
Modifications
Eric Dalci. Cigital. 2008-07-01. (External)
updated Time_of_Introduction
CWE Content Team. MITRE. 2008-09-08. (Internal)
updated Applicable_Platforms, Relationships, Taxonomy_Mappings, Weakness_Ordinalities
CWE Content Team. MITRE. 2008-10-14. (Internal)
updated Description
CWE Content Team. MITRE. 2008-11-24. (Internal)
updated Relationships, Taxonomy_Mappings
Page Last Updated: November 24, 2008