Variant · Low-Medium

CWE-64: Windows Shortcut Following (.LNK)

The product, when opening a file or directory, does not sufficiently handle when the file is a Windows shortcut (.LNK) whose target is outside of the intended control sphere. This could allow an attac...

CWE-64 · Variant Level ·7 CVEs ·1 Mitigations

Description

The product, when opening a file or directory, does not sufficiently handle when the file is a Windows shortcut (.LNK) whose target is outside of the intended control sphere. This could allow an attacker to cause the product to operate on unauthorized files.

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-2019-19793network access control service executes program with high privileges and allows symlink to invoke another executable or perform DLL injection.
CVE-2000-0342Mail client allows remote attackers to bypass the user warning for executable attachments such as .exe, .com, and .bat by using a .lnk file that refers to the attachment, aka "Stealth Attachment."
CVE-2001-1042FTP server allows remote attackers to read arbitrary files and directories by uploading a .lnk (link) file that points to the target file.
CVE-2001-1043FTP server allows remote attackers to read arbitrary files and directories by uploading a .lnk (link) file that points to the target file.
CVE-2005-0587Browser allows remote malicious web sites to overwrite arbitrary files by tricking the user into downloading a .LNK (link) file twice, which overwrites the file that was referenced in the first .LNK f
CVE-2001-1386".LNK." - .LNK with trailing dot
CVE-2003-1233Rootkits can bypass file access restrictions to Windows kernel directories using NtCreateSymbolicLinkObject function to create symbolic link

Taxonomy Mappings

  • PLOVER: — Windows Shortcut Following (.LNK)
  • 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-64?

CWE-64 (Windows Shortcut Following (.LNK)) 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 handle when the file is a Windows shortcut (.LNK) whose target is outside of the intended control sphere. This could allow an attac...

How can CWE-64 be exploited?

Attackers can exploit CWE-64 (Windows Shortcut Following (.LNK)) to read files or directories, modify files or directories. This weakness is typically introduced during the Operation phase of software development.

How do I prevent CWE-64?

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-64?

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