Mastodon Mastodon Mastodon Mastodon

Ejecución remota de código [RCE]

Actualizado: · CyberSecureFox Editorial Team

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.
Sinónimos:
ejecución de código remoto, ejecución remota de comandos, ejecución de código arbitrario