Un enlace simbólico (symlink) es un objeto del sistema de archivos que apunta a otro archivo o directorio mediante su ruta, de modo que los programas que abren el enlace son redirigidos de forma transparente al destino.
Cómo funcionan los enlaces simbólicos
Un enlace simbólico solo almacena la ruta de su destino. En Linux y macOS se crea con ln -s; Windows usa mklink y además tiene uniones NTFS (junctions) y otros puntos de reanálisis. A diferencia de un enlace duro, un symlink puede apuntar a otro sistema de archivos o a un destino que todavía no existe. Se usan para gestionar versiones de software, configuraciones compartidas y directorios.
Por qué los enlaces simbólicos importan para la seguridad
El problema surge cuando un programa privilegiado sigue un enlace del atacante, debilidad catalogada como CWE-59 (Improper Link Resolution Before File Access, «link following»). Escenarios típicos:
- Archivos temporales: un proceso de root escribe en un archivo predecible de
/tmpdonde el atacante ha colocado un symlink a/etc/passwdu otro archivo sensible, que acaba sobrescrito. - Time-of-check to time-of-use: el archivo se sustituye por un enlace entre la comprobación de seguridad y su uso, una condición de carrera (CWE-367).
- Abuso de servicios de Windows: las uniones y los enlaces del administrador de objetos llevan a instaladores, actualizadores e incluso antivirus a borrar o escribir archivos arbitrarios como SYSTEM, una vía habitual de escalada de privilegios local.
- Archivos comprimidos maliciosos: los ZIP o tar que contienen symlinks pueden hacer que las herramientas de extracción escriban fuera de la carpeta de destino, de forma parecida al path traversal.
Cómo prevenir los ataques con enlaces simbólicos
- En Linux, mantener activado el parámetro del kernel
fs.protected_symlinks. - Crear los archivos temporales de forma segura (por ejemplo, con
mkstemp) y abrir archivos con indicadores comoO_NOFOLLOW. - Evitar que servicios privilegiados operen en directorios donde escriben los usuarios.
- Validar los destinos de enlaces al descomprimir.





