Variant · Low-Medium

CWE-62: UNIX Hard Link

The product, 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 all...

CWE-62 · Variant Level ·10 CVEs ·1 Mitigations

Description

The product, 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 product to operate on unauthorized files.

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.

Potential Impact

Confidentiality, Integrity

Read Files or Directories, Modify Files or Directories

Mitigations & Prevention

Architecture and Design

Follow the principle of least privilege when assigning access rights to entities in a software system. 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.

Real-World CVE Examples

CVE IDDescription
CVE-2001-1494Hard link attack, file overwrite; interesting because program checks against soft links
CVE-2002-0793Hard link and possibly symbolic link following vulnerabilities in embedded operating system allow local users to overwrite arbitrary files.
CVE-2003-0578Server creates hard links and unlinks files as root, which allows local users to gain privileges by deleting and overwriting arbitrary files.
CVE-1999-0783Operating system allows local users to conduct a denial of service by creating a hard link from a device special file to a file on an NFS file system.
CVE-2004-1603Web hosting manager follows hard links, which allows local users to read or modify arbitrary files.
CVE-2004-1901Package listing system allows local users to overwrite arbitrary files via a hard link attack on the lockfiles.
CVE-2005-0342The Finder in Mac OS X and earlier allows local users to overwrite arbitrary files and gain privileges by creating a hard link from the .DS_Store file to an arbitrary file.
CVE-2005-1111Hard link race condition
CVE-2021-21272"Zip Slip" vulnerability in Go-based Open Container Initiative (OCI) registries product allows writing arbitrary files outside intended directory via symbolic links or hard links in a gzipped tarball.
CVE-2003-1366setuid root tool allows attackers to read secret data by replacing a temp file with a hard link to a sensitive file

Taxonomy Mappings

  • PLOVER: — UNIX hard link
  • CERT C Secure Coding: FIO05-C — Identify files using multiple file attributes
  • Software Fault Patterns: SFP18 — Link in resource name resolution

Frequently Asked Questions

What is CWE-62?

CWE-62 (UNIX Hard Link) is a software weakness identified by MITRE's Common Weakness Enumeration. It is classified as a Variant-level weakness. The product, 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 all...

How can CWE-62 be exploited?

Attackers can exploit CWE-62 (UNIX Hard Link) to read files or directories, modify files or directories. This weakness is typically introduced during the Implementation phase of software development.

How do I prevent CWE-62?

Key mitigations include: Follow the principle of least privilege when assigning access rights to entities in a software system. Denying access to a file can prevent an attacker from replacing that file wit

What is the severity of CWE-62?

CWE-62 is classified as a Variant-level weakness (Low-Medium abstraction). It has been observed in 10 real-world CVEs.