CVE Vulnerabilities

CVE-2010-1160

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

Published: Apr 16, 2010 | Modified: Jun 07, 2010
CVSS 3.x
N/A
Source:
NVD
CVSS 2.x
1.9 LOW
AV:L/AC:M/Au:N/C:N/I:P/A:N
RedHat/V2
RedHat/V3
Ubuntu

GNU nano before 2.2.4 does not verify whether a file has been changed before it is overwritten in a file-save operation, which allows local user-assisted attackers to overwrite arbitrary files via a symlink attack on an attacker-owned file that is being edited by the victim.

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
Nano Gnu * 2.2.3 (including)
Nano Gnu 0.5.0 (including) 0.5.0 (including)
Nano Gnu 0.5.1 (including) 0.5.1 (including)
Nano Gnu 0.5.2 (including) 0.5.2 (including)
Nano Gnu 0.5.3 (including) 0.5.3 (including)
Nano Gnu 0.5.4 (including) 0.5.4 (including)
Nano Gnu 0.5.5 (including) 0.5.5 (including)
Nano Gnu 0.6.0 (including) 0.6.0 (including)
Nano Gnu 0.6.1 (including) 0.6.1 (including)
Nano Gnu 0.6.2 (including) 0.6.2 (including)
Nano Gnu 0.6.3 (including) 0.6.3 (including)
Nano Gnu 0.6.4 (including) 0.6.4 (including)
Nano Gnu 0.6.5 (including) 0.6.5 (including)
Nano Gnu 0.6.6 (including) 0.6.6 (including)
Nano Gnu 0.6.7 (including) 0.6.7 (including)
Nano Gnu 0.6.8 (including) 0.6.8 (including)
Nano Gnu 0.6.9 (including) 0.6.9 (including)
Nano Gnu 0.7.0 (including) 0.7.0 (including)
Nano Gnu 0.7.1 (including) 0.7.1 (including)
Nano Gnu 0.7.2 (including) 0.7.2 (including)
Nano Gnu 0.7.3 (including) 0.7.3 (including)
Nano Gnu 0.7.4 (including) 0.7.4 (including)
Nano Gnu 0.7.5 (including) 0.7.5 (including)
Nano Gnu 0.7.6 (including) 0.7.6 (including)
Nano Gnu 0.7.7 (including) 0.7.7 (including)
Nano Gnu 0.7.8 (including) 0.7.8 (including)
Nano Gnu 0.7.9 (including) 0.7.9 (including)
Nano Gnu 0.8.0 (including) 0.8.0 (including)
Nano Gnu 0.8.1 (including) 0.8.1 (including)
Nano Gnu 0.8.2 (including) 0.8.2 (including)
Nano Gnu 0.8.3 (including) 0.8.3 (including)
Nano Gnu 0.8.4 (including) 0.8.4 (including)
Nano Gnu 0.8.5 (including) 0.8.5 (including)
Nano Gnu 0.8.6 (including) 0.8.6 (including)
Nano Gnu 0.8.7 (including) 0.8.7 (including)
Nano Gnu 0.8.8 (including) 0.8.8 (including)
Nano Gnu 0.8.9 (including) 0.8.9 (including)
Nano Gnu 0.9.0 (including) 0.9.0 (including)
Nano Gnu 0.9.1 (including) 0.9.1 (including)
Nano Gnu 0.9.2 (including) 0.9.2 (including)
Nano Gnu 0.9.3 (including) 0.9.3 (including)
Nano Gnu 0.9.4 (including) 0.9.4 (including)
Nano Gnu 0.9.5 (including) 0.9.5 (including)
Nano Gnu 0.9.6 (including) 0.9.6 (including)
Nano Gnu 0.9.7 (including) 0.9.7 (including)
Nano Gnu 0.9.8 (including) 0.9.8 (including)
Nano Gnu 0.9.9 (including) 0.9.9 (including)
Nano Gnu 0.9.10 (including) 0.9.10 (including)
Nano Gnu 0.9.11 (including) 0.9.11 (including)
Nano Gnu 0.9.12 (including) 0.9.12 (including)
Nano Gnu 0.9.13 (including) 0.9.13 (including)
Nano Gnu 0.9.14 (including) 0.9.14 (including)
Nano Gnu 0.9.15 (including) 0.9.15 (including)
Nano Gnu 0.9.16 (including) 0.9.16 (including)
Nano Gnu 0.9.17 (including) 0.9.17 (including)
Nano Gnu 0.9.18 (including) 0.9.18 (including)
Nano Gnu 0.9.19 (including) 0.9.19 (including)
Nano Gnu 0.9.20 (including) 0.9.20 (including)
Nano Gnu 0.9.21 (including) 0.9.21 (including)
Nano Gnu 0.9.22 (including) 0.9.22 (including)
Nano Gnu 0.9.23 (including) 0.9.23 (including)
Nano Gnu 0.9.24 (including) 0.9.24 (including)
Nano Gnu 0.9.25 (including) 0.9.25 (including)
Nano Gnu 0.9.99pre1 (including) 0.9.99pre1 (including)
Nano Gnu 0.9.99pre2 (including) 0.9.99pre2 (including)
Nano Gnu 0.9.99pre3 (including) 0.9.99pre3 (including)
Nano Gnu 1.0.0 (including) 1.0.0 (including)
Nano Gnu 1.0.1 (including) 1.0.1 (including)
Nano Gnu 1.0.2 (including) 1.0.2 (including)
Nano Gnu 1.0.3 (including) 1.0.3 (including)
Nano Gnu 1.0.4 (including) 1.0.4 (including)
Nano Gnu 1.0.5 (including) 1.0.5 (including)
Nano Gnu 1.0.6 (including) 1.0.6 (including)
Nano Gnu 1.0.7 (including) 1.0.7 (including)
Nano Gnu 1.0.8 (including) 1.0.8 (including)
Nano Gnu 1.0.9 (including) 1.0.9 (including)
Nano Gnu 1.1.0 (including) 1.1.0 (including)
Nano Gnu 1.1.1 (including) 1.1.1 (including)
Nano Gnu 1.1.2 (including) 1.1.2 (including)
Nano Gnu 1.1.3 (including) 1.1.3 (including)
Nano Gnu 1.1.4 (including) 1.1.4 (including)
Nano Gnu 1.1.5 (including) 1.1.5 (including)
Nano Gnu 1.1.6 (including) 1.1.6 (including)
Nano Gnu 1.1.7 (including) 1.1.7 (including)
Nano Gnu 1.1.8 (including) 1.1.8 (including)
Nano Gnu 1.1.9 (including) 1.1.9 (including)
Nano Gnu 1.1.10 (including) 1.1.10 (including)
Nano Gnu 1.1.11 (including) 1.1.11 (including)
Nano Gnu 1.1.12 (including) 1.1.12 (including)
Nano Gnu 1.1.99pre1 (including) 1.1.99pre1 (including)
Nano Gnu 1.1.99pre2 (including) 1.1.99pre2 (including)
Nano Gnu 1.1.99pre3 (including) 1.1.99pre3 (including)
Nano Gnu 1.2.0 (including) 1.2.0 (including)
Nano Gnu 1.2.1 (including) 1.2.1 (including)
Nano Gnu 1.2.2 (including) 1.2.2 (including)
Nano Gnu 1.2.3 (including) 1.2.3 (including)
Nano Gnu 1.2.4 (including) 1.2.4 (including)
Nano Gnu 1.2.5 (including) 1.2.5 (including)
Nano Gnu 1.3.0 (including) 1.3.0 (including)
Nano Gnu 1.3.1 (including) 1.3.1 (including)
Nano Gnu 1.3.2 (including) 1.3.2 (including)
Nano Gnu 1.3.3 (including) 1.3.3 (including)
Nano Gnu 1.3.4 (including) 1.3.4 (including)
Nano Gnu 1.3.5 (including) 1.3.5 (including)
Nano Gnu 1.3.6 (including) 1.3.6 (including)
Nano Gnu 1.3.7 (including) 1.3.7 (including)
Nano Gnu 1.3.8 (including) 1.3.8 (including)
Nano Gnu 1.3.9 (including) 1.3.9 (including)
Nano Gnu 1.3.10 (including) 1.3.10 (including)
Nano Gnu 1.3.11 (including) 1.3.11 (including)
Nano Gnu 1.3.12 (including) 1.3.12 (including)
Nano Gnu 1.9.99pre1 (including) 1.9.99pre1 (including)
Nano Gnu 1.9.99pre2 (including) 1.9.99pre2 (including)
Nano Gnu 1.9.99pre3 (including) 1.9.99pre3 (including)
Nano Gnu 2.0.0 (including) 2.0.0 (including)
Nano Gnu 2.0.1 (including) 2.0.1 (including)
Nano Gnu 2.0.2 (including) 2.0.2 (including)
Nano Gnu 2.0.3 (including) 2.0.3 (including)
Nano Gnu 2.0.4 (including) 2.0.4 (including)
Nano Gnu 2.0.5 (including) 2.0.5 (including)
Nano Gnu 2.0.6 (including) 2.0.6 (including)
Nano Gnu 2.0.7 (including) 2.0.7 (including)
Nano Gnu 2.0.8 (including) 2.0.8 (including)
Nano Gnu 2.0.9 (including) 2.0.9 (including)
Nano Gnu 2.1.0 (including) 2.1.0 (including)
Nano Gnu 2.1.1 (including) 2.1.1 (including)
Nano Gnu 2.1.2 (including) 2.1.2 (including)
Nano Gnu 2.1.3 (including) 2.1.3 (including)
Nano Gnu 2.1.4 (including) 2.1.4 (including)
Nano Gnu 2.1.5 (including) 2.1.5 (including)
Nano Gnu 2.1.6 (including) 2.1.6 (including)
Nano Gnu 2.1.7 (including) 2.1.7 (including)
Nano Gnu 2.1.8 (including) 2.1.8 (including)
Nano Gnu 2.1.9 (including) 2.1.9 (including)
Nano Gnu 2.1.10 (including) 2.1.10 (including)
Nano Gnu 2.1.11 (including) 2.1.11 (including)
Nano Gnu 2.1.99pre1 (including) 2.1.99pre1 (including)
Nano Gnu 2.1.99pre2 (including) 2.1.99pre2 (including)
Nano Gnu 2.2.0 (including) 2.2.0 (including)
Nano Gnu 2.2.1 (including) 2.2.1 (including)
Nano Gnu 2.2.2 (including) 2.2.2 (including)

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