CVE Vulnerabilities

CVE-2010-1160

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

Published: Apr 16, 2010 | Modified: Nov 21, 2024
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
3.6 LOW
AV:L/AC:L/Au:N/C:P/I:P/A:N
RedHat/V3
Ubuntu
LOW

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)
Nano Ubuntu dapper *
Nano Ubuntu hardy *
Nano Ubuntu intrepid *
Nano Ubuntu jaunty *
Nano Ubuntu karmic *
Nano Ubuntu lucid *
Nano 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