La ejecución remota de código (RCE) es un tipo de vulnerabilidad que permite a un atacante ejecutar sus propios comandos o programas en un ordenador o servidor ajeno a través de la red.
Cómo funciona la RCE
Una RCE aparece cuando un programa trata como algo ejecutable los datos que envía el atacante. Las causas típicas son:
- errores de memoria, como desbordamientos de búfer y use-after-free;
- deserialización insegura;
- inyección de comandos y de plantillas;
- subidas de archivos que terminan en una ubicación ejecutable.
El atacante envía una petición, un archivo o un paquete de red manipulado, y el servicio vulnerable ejecuta la carga útil con sus propios privilegios.
Dos ejemplos clásicos:
- EternalBlue (MS17-010), un fallo de SMB que impulsó el brote de WannaCry en 2017;
- Log4Shell (CVE-2021-44228), en la biblioteca de registros Log4j. Bastaba una sola cadena en un mensaje de log para activarla, y recibió la puntuación máxima de CVSS, 10.0.
Por qué la RCE es tan peligrosa
La RCE es el tipo de vulnerabilidad más peligroso: convierte un error de programación en control total del equipo. Las más críticas no requieren inicio de sesión ni interacción del usuario («pre-auth», «zero-click») y se explotan de forma automática en todo Internet pocas horas después de publicarse.
A través de RCE en pasarelas VPN, cortafuegos y servidores de correo y web, los atacantes instalan puertas traseras, despliegan ransomware o crean botnets.
Cómo protegerse
- Actualice primero los sistemas expuestos a Internet y siga el catálogo Known Exploited Vulnerabilities (KEV) de CISA.
- Mantenga un inventario de software y bibliotecas para saber dónde se usa un componente vulnerable.
- Ejecute los servicios con privilegios mínimos y aíslelos en contenedores o segmentos de red separados.
- Valide las entradas, evite deserializadores inseguros y use lenguajes con gestión segura de memoria para el código nuevo.