CVE Vulnerabilities

CVE-2011-0754

Improper Link Resolution Before File Access ('Link Following')

Published: Feb 02, 2011 | Modified: Oct 30, 2018
CVSS 3.x
N/A
Source:
NVD
CVSS 2.x
4.4 MEDIUM
AV:L/AC:M/Au:N/C:P/I:P/A:P
RedHat/V2
RedHat/V3
Ubuntu
LOW

The SplFileInfo::getType function in the Standard PHP Library (SPL) extension in PHP before 5.3.4 on Windows does not properly detect symbolic links, which might make it easier for local users to conduct symlink attacks by leveraging cross-platform differences in the stat structure, related to lack of a FILE_ATTRIBUTE_REPARSE_POINT check.

Weakness

The product attempts to access a file based on the filename, but it does not properly prevent that filename from identifying a link or shortcut that resolves to an unintended resource.

Affected Software

Name Vendor Start Version End Version
Php Php * 5.3.3 (including)
Php Php 1.0 (including) 1.0 (including)
Php Php 2.0 (including) 2.0 (including)
Php Php 2.0b10 (including) 2.0b10 (including)
Php Php 3.0 (including) 3.0 (including)
Php Php 3.0.1 (including) 3.0.1 (including)
Php Php 3.0.2 (including) 3.0.2 (including)
Php Php 3.0.3 (including) 3.0.3 (including)
Php Php 3.0.4 (including) 3.0.4 (including)
Php Php 3.0.5 (including) 3.0.5 (including)
Php Php 3.0.6 (including) 3.0.6 (including)
Php Php 3.0.7 (including) 3.0.7 (including)
Php Php 3.0.8 (including) 3.0.8 (including)
Php Php 3.0.9 (including) 3.0.9 (including)
Php Php 3.0.10 (including) 3.0.10 (including)
Php Php 3.0.11 (including) 3.0.11 (including)
Php Php 3.0.12 (including) 3.0.12 (including)
Php Php 3.0.13 (including) 3.0.13 (including)
Php Php 3.0.14 (including) 3.0.14 (including)
Php Php 3.0.15 (including) 3.0.15 (including)
Php Php 3.0.16 (including) 3.0.16 (including)
Php Php 3.0.17 (including) 3.0.17 (including)
Php Php 3.0.18 (including) 3.0.18 (including)
Php Php 4.0 (including) 4.0 (including)
Php Php 4.0-beta_4_patch1 (including) 4.0-beta_4_patch1 (including)
Php Php 4.0-beta1 (including) 4.0-beta1 (including)
Php Php 4.0-beta2 (including) 4.0-beta2 (including)
Php Php 4.0-beta3 (including) 4.0-beta3 (including)
Php Php 4.0-beta4 (including) 4.0-beta4 (including)
Php Php 4.0.0 (including) 4.0.0 (including)
Php Php 4.0.1 (including) 4.0.1 (including)
Php Php 4.0.2 (including) 4.0.2 (including)
Php Php 4.0.3 (including) 4.0.3 (including)
Php Php 4.0.4 (including) 4.0.4 (including)
Php Php 4.0.5 (including) 4.0.5 (including)
Php Php 4.0.6 (including) 4.0.6 (including)
Php Php 4.0.7 (including) 4.0.7 (including)
Php Php 4.1.0 (including) 4.1.0 (including)
Php Php 4.1.1 (including) 4.1.1 (including)
Php Php 4.1.2 (including) 4.1.2 (including)
Php Php 4.2.0 (including) 4.2.0 (including)
Php Php 4.2.1 (including) 4.2.1 (including)
Php Php 4.2.2 (including) 4.2.2 (including)
Php Php 4.2.3 (including) 4.2.3 (including)
Php Php 4.3.0 (including) 4.3.0 (including)
Php Php 4.3.1 (including) 4.3.1 (including)
Php Php 4.3.2 (including) 4.3.2 (including)
Php Php 4.3.3 (including) 4.3.3 (including)
Php Php 4.3.4 (including) 4.3.4 (including)
Php Php 4.3.5 (including) 4.3.5 (including)
Php Php 4.3.6 (including) 4.3.6 (including)
Php Php 4.3.7 (including) 4.3.7 (including)
Php Php 4.3.8 (including) 4.3.8 (including)
Php Php 4.3.9 (including) 4.3.9 (including)
Php Php 4.3.10 (including) 4.3.10 (including)
Php Php 4.3.11 (including) 4.3.11 (including)
Php Php 4.4.0 (including) 4.4.0 (including)
Php Php 4.4.1 (including) 4.4.1 (including)
Php Php 4.4.2 (including) 4.4.2 (including)
Php Php 4.4.3 (including) 4.4.3 (including)
Php Php 4.4.4 (including) 4.4.4 (including)
Php Php 4.4.5 (including) 4.4.5 (including)
Php Php 4.4.6 (including) 4.4.6 (including)
Php Php 4.4.7 (including) 4.4.7 (including)
Php Php 4.4.8 (including) 4.4.8 (including)
Php Php 4.4.9 (including) 4.4.9 (including)
Php Php 5.3.0 (including) 5.3.0 (including)
Php Php 5.3.1 (including) 5.3.1 (including)
Php Php 5.3.2 (including) 5.3.2 (including)
Php5 Ubuntu upstream *

Potential Mitigations

  • 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.

References