Glosario

Qué es la RCE (ejecución remota de código): por qué es la peor clase de fallo

La RCE permite a un atacante ejecutar código en tu servidor por la red: la peor clase de fallo. Cómo defenderse con parcheo rápido y mínimo privilegio.

Publicado 2026-06-07 Actualizado 2026-10-06 8 min de lectura
En esta página

«Una RCE con CVSS 10.0» es una de las expresiones más graves en las noticias sobre vulnerabilidades. Aquí tienes por qué la RCE es la «peor clase» y en qué se diferencia de otros fallos, desde cero.

En qué se diferencia de otros fallos

La mayoría de las vulnerabilidades tienen un impacto limitado. La RCE ejecuta comandos en el propio servidor, así que es un orden de magnitud peor.

VulnerabilidadDónde se ejecuta el códigoDaño principalGravedad típica
XSSel navegadorrobo de sesión, desfiguraciónmedia–alta
SQLila base de datosleer/alterar datosalta
RCEel propio servidortoma de control, propagación a otros sistemas, todo lo que pueda hacer el procesola peor (clase 10.0)

Por qué es la peor clase

Que un atacante ejecute comandos en tu servidor significa que todo lo que ese proceso pueda hacer, lo puede hacer él.

RCE conseguida (ejecución de código arbitrario)

↓ qué permite
leer .env y robar secretos
alcanzar la BD para exfiltrar/alterar
un punto de apoyo para alcanzar otros servicios
↓ hasta dónde se propaga =
los «privilegios» del proceso (por eso funcionan los privilegios mínimos)
Hasta dónde se extiende el daño lo determinan los privilegios del proceso en ejecución. Los privilegios mínimos y el aislamiento lo limitan.

Hasta dónde se extiende el daño lo determinan «los privilegios de ese proceso». Por eso exactamente funcionan la contenerización, los privilegios mínimos y el aislamiento (limitar hasta dónde se extiende el daño). Ejecuta como root y el atacante puede controlar todo el servidor; ejecuta sin privilegios y aislado y lo contienes.

La mayoría de las RCE vienen de vulnerabilidades publicadas, no de tus propios fallos

La RCE muy a menudo no viene de un fallo que escribiste, sino de una vulnerabilidad conocida en un framework o librería que usas. Muchos incidentes históricos fueron RCE.

Qué puedes hacer para defenderte

1

No descuides las CVE publicadas (la mayor defensa)

Monitoriza las CVE con máquinas (Dependabot / osv-scanner) y actualiza rápido a las versiones corregidas. La mayoría de las RCE vienen de dejar sin parchear vulnerabilidades conocidas.

2

Juzga por la versión en ejecución

Mide el riesgo por la versión que realmente se ejecuta, no por el mínimo del manifiesto. Fiarte del texto malinterpreta el peligro.

3

Limita el daño

Ejecuta como usuario sin privilegios; aísla contenedores y redes. Contén el daño si te alcanzan.

4

No pases la entrada directamente a la ejecución

Nunca alimentes la entrada externa directamente a comandos de shell, deserialización o evaluación de plantillas. Lo básico para no crear tú mismo una RCE.

Las principales causas que llevan a una RCE

RCE nombra el resultado; las causas se dividen en varios tipos. La lista «CWE Top 25» de MITRE (las 25 debilidades de software más peligrosas), publicada en diciembre de 2025, incluye muchas debilidades que llevan a una RCE.

Causa (CWE)En qué consisteCWE Top 25 (2025)
Inyección de comandos del SO (CWE-78)La entrada externa se mezcla en un comando de shell y se ejecuta como comando9.º
Inyección de código (CWE-94)La entrada externa se evalúa y se ejecuta como código del programa10.º
Subida de archivos peligrosa (CWE-434)Se coloca un archivo ejecutable en el servidor y se ejecuta allí (→ vulnerabilidades de subida de archivos, en inglés)12.º
Deserialización insegura (CWE-502)Se ejecuta código al restaurar datos recibidos del exterior (→ deserialización insegura, en inglés)15.º
Corrupción de memoria (CWE-787 y otras)Software escrito en C/C++ escribe fuera de los límites de su memoria y se secuestra su ejecución5.º (escritura fuera de límites)

Las cuatro primeras son las que más probablemente introduzcas en tu propia aplicación. La corrupción de memoria aparece sobre todo en sistemas operativos, dispositivos de red y librerías, donde la defensa del usuario es actualizar.

Casos reales: se atacan los productos accesibles desde fuera

  • Dispositivos de red: en julio de 2024, las agencias estadounidenses CISA y FBI emitieron una alerta pidiendo a los fabricantes eliminar la inyección de comandos del SO, después de que fallos de este tipo en dispositivos de red perimetrales se explotaran como RCE sin autenticación (→ defensa de dispositivos VPN, en inglés).
  • Herramientas de IA: Langflow, una herramienta para crear agentes de IA, tenía una RCE sin autenticación en su función de validación de código (CVE-2026-0770), que se añadió al KEV (→ CVE-2026-0770 explicada, en inglés).
  • CMS: un fallo de inclusión de archivos en el núcleo de WordPress (CVE-2026-87902) lleva a una RCE cuando se dan ciertas condiciones en el servidor (→ CVE-2026-87902 explicada, en inglés).

Lo que tienen en común es que los productos están en un lugar al que se puede llegar desde internet sin autenticación. El peligro de una RCE no depende solo del fallo en sí, sino en gran medida de si es accesible desde fuera.

Qué comprobar cuando oyes «RCE con CVSS 10.0»

1

¿Lo usas?

Usa la consulta de CVE / KEV para ver el producto y las versiones afectados a partir del número de CVE, y compáralos con las versiones que realmente se ejecutan en tu entorno. Para las dependencias, osv-scanner las revisa todas de una vez.

2

¿Es accesible desde fuera?

Comprueba si la función afectada o la pantalla de administración se puede alcanzar desde internet sin autenticación. Si es así, plantéate desconectarla hasta actualizar.

3

¿Se está explotando?

Si figura en el KEV de CISA, se está explotando en la práctica. Para interpretar las puntuaciones, consulta priorizar con CVSS, EPSS y KEV.

4

Tras actualizar, busca señales de intrusión

Si alguien entró antes de la actualización, seguirá dentro después. Busca archivos desconocidos, cuentas nuevas y tráfico saliente sospechoso (C2).

Fuentes (primarias)

  • MITRE, «2025 CWE Top 25 Most Dangerous Software Weaknesses» (diciembre de 2025) — cwe.mitre.org (en inglés; puestos de CWE-78, 94, 434, 502 y 787)
  • CISA y FBI, «Secure by Design Alert: Eliminating OS Command Injection Vulnerabilities» (10 de julio de 2024) — cisa.gov (en inglés)
  • FIRST, «CVSS v3.1 Specification Document» — first.org (en inglés; cómo se puntúa la gravedad)
  • CISA, «Known Exploited Vulnerabilities Catalog» — cisa.gov (en inglés)

Sigue leyendo

FAQ

Q¿En qué se diferencia la RCE de fallos comunes como el XSS?
A

El XSS y similares en su mayoría se comportan mal dentro del navegador del usuario; la RCE ejecuta programas arbitrarios en el propio servidor. Como puede alcanzar los privilegios, los datos y otros servicios del servidor, suele ser la clase más grave.

Q¿Hasta dónde se propaga el daño de una RCE?
A

Hasta donde lleguen los privilegios del proceso que se estaba ejecutando cuando fue atacado. Ejecuta como root o con amplios derechos y el daño es enorme; ejecuta como usuario sin privilegios con aislamiento en contenedor y puedes contenerlo. Por eso importan los privilegios mínimos y el aislamiento.

Q¿Cómo me defiendo (como desarrollador) contra la RCE?
A

Además de no escribir tú mismo fallos de RCE (no pases la entrada directamente a la ejecución), la mayor defensa es no descuidar las RCE publicadas en los frameworks/librerías que usas. La monitorización de CVE y las actualizaciones rápidas son el núcleo.

Q¿Qué significa «una RCE con CVSS 10.0»?
A

Una RCE que recibió la puntuación máxima en CVSS, la escala común de 0.0 a 10.0 para la gravedad de las vulnerabilidades. Un 10.0 suele indicar que se puede explotar por red, sin autenticación ni interacción del usuario, con un impacto alto en confidencialidad, integridad y disponibilidad, y que ese impacto va más allá del componente vulnerable. Si te afecta un producto que usas, conviene actualizarlo o desconectarlo antes que cualquier otra tarea.

Q¿Qué diferencia hay entre RCE y ejecución de código arbitrario (ACE)?
A

La ejecución de código arbitrario (ACE) significa que un atacante puede ejecutar el código que quiera. La RCE es el subconjunto que se puede provocar de forma remota a través de la red. Cuando el ataque exige, por ejemplo, que alguien abra un archivo local, puede ser ejecución de código arbitrario sin llamarse RCE.

Q¿Qué hago primero cuando se anuncia una RCE?
A

En este orden: (1) confirma si de verdad usas el producto y la versión afectados, (2) comprueba si es accesible desde internet, (3) actualiza a la versión corregida o, si no puedes, desconéctalo o aplica la mitigación, y (4) si figura en el catálogo KEV de CISA de vulnerabilidades con explotación confirmada, busca también señales de intrusión. No te quedes en la actualización: revisa si alguien entró antes de ella.