Las 10 debilidades más peligrosas de los software
Tabla de contenidos

CISA y MITRE han publicado su top anual en el que listan las debilidades más peligrosas de los software para ayudar a fabricantes y empresas a protegerse frente a los ataques
Hace unos días, la agencia estadounidense a cargo de la ciberseguridad (CISA) y el Instituto de Ingeniería y Desarrollo de Sistemas de Seguridad Nacional (HSSEDI), gestionado por MITRE, hicieron pública la versión de 2025 de su top 25 de debilidades más peligrosas de los software.
Tanto CISA como MITRE son dos actores de referencia a nivel metodológico en el terreno de la ciberseguridad y este ranking sirve para poner el foco sobre las debilidades más peligrosas de los software y las consecuencias de que sean explotadas con éxito por actores maliciosos.
A continuación, vamos a desgranar las 10 debilidades más peligrosas de los software según el listado y a explicar qué servicios de ciberseguridad son críticos a la hora de mitigarlas con éxito y anticiparse a los atacantes.
Las debilidades más peligrosas de los software en el último año
1. Cross-Site Scripting (XSS)
El Cross-Site Scripting es una vulnerabilidad que consiste en la ejecución de código malicioso por parte de un actor hostil en una aplicación web.
Como se explica en el ranking de las debilidades más peligrosas de los software, el programa no es capaz de neutralizar correctamente texto introducido por usuarios durante la generación de páginas web.
¿Qué pueden conseguir los actores maliciosos que logren aprovecharse de esta debilidad?
- Eludir los mecanismos de protección del software.
- Leer o alterar datos de la aplicación.
- Ejecutar código no autorizado que permita robar información de los usuarios que acceden a la aplicación o forzarlos a realizar acciones de manera inconsciente, entre otros.
En los últimos tiempos se han detectado vulnerabilidades de este tipo en asistentes de IA (CVE-2024-49038), en software de base de datos como OpenAtlas (CVE-2025-40702 a 40709) o en soluciones de seguridad como GlobalProtect (CVE-2025-0133).
Habida cuenta de la gravedad de las consecuencias y de que la detección de vulnerabilidades de este tipo es relativamente habitual, el Cross-Site Scripting se sitúa, según CISA y HSSEDI, en el primer puesto del ranking de debilidades más peligrosas de los software.
2. Inyección SQL
Otra de las debilidades más peligrosas de los software que se ha convertido, tristemente, en un clásico es la inyección SQL.
En este caso, estamos ante un fallo de seguridad que permite ejecutar consultas SQL arbitrarias. ¿Por qué? La aplicación web no es capaz de filtrar de forma adecuada los datos introducidos por un usuario, lo que implica que exista «el riesgo de que la sentencia SQL a ejecutar se vea alterada por caracteres de control del motor de base de datos como el caso de comillas simples o dobles».
¿Cuáles son las consecuencias más comunes de la explotación de esta debilidad presente en algunas aplicaciones web?
- Ejecución no autorizada de código o comandos.
- Lectura de los datos de la aplicación, poniendo en jaque la confidencialidad de los mismos.
- Modificación de los datos de la aplicación.
En el listado de las debilidades más peligrosas de los software se pone el foco en la forma en que esta debilidad aparece en los programas:
- En aplicaciones con funcionalidades que interaccionan con bases de datos (inicio de sesión, almacenamiento de información, etc).
- En aplicaciones que utilizan bases de datos y que permiten a los usuarios interaccionar con ésta (guardar, consultar, editar).
Recientemente se han detectado vulnerabilidades de este tipo en chatbots de IA (CVE-2024-6847), en firewalls (CVE-2025-25257) o en software de gestión (CVE-2025-25181).
Esta vulnerabilidad ha subido un puesto en el ranking de las debilidades más peligrosas de los software con respecto al top del año anterior.
3. CSRF
Las debilidades Cross-Site Request Forgery (CSRF) consisten en que las aplicaciones web no pueden diferenciar si una solicitud ha sido enviada intencionadamente por el usuario legítimo o por un agente no autorizado.
Esto es posible porque un atacante, «a pesar de no conocer el valor de las cookies de un usuario sobre una web, es capaz de forzar peticiones hacia ella desde un dominio externo (peticiones «cross-site») que contienen los valores adecuados».
De tal forma que, si la aplicación no cuenta con mecanismos de protección adecuados, el actor hostil puede llevar a cabo ataques CSRF y suplantar la identidad de la víctima y realizar cualquier operación en la aplicación como si fuese ella. Lo que podría abrir la puerta al robo de datos o a la ejecución de código malicioso.
Además, si la víctima tiene un rol de administrador o es un usuario con privilegios elevados, las consecuencias se agravan y el actor hostil podría obtener un control total sobre la aplicación. Esto podría traducirse en la eliminación, modificación o robo de información o en el uso malicioso del producto para lanzar ataques contra todos los usuarios. Lo mismo sucedería si el actor malicioso es capaz de escalar los privilegios de un usuario común.
Este mismo año se han detectado vulnerabilidades CSRF en software como Telegram (CVE-2025-58794), plugins de WordPress como Style Admin (CVE-2025-23801) o Quick Interest Slider (CVE-2025-64237), o la plataforma de comercio electrónico Selldone (CVE-2025-26206). Esta debilidad también ha subido un puesto en el ranking de debilidades más peligrosas de los software con respecto al top anterior.

4. Falta de autorización
Esta debilidad consiste en que, cuando un actor intenta acceder a un recurso del software o llevar a cabo una acción, la aplicación no realiza la pertinente comprobación de autorización.
De tal forma que un actor malicioso podría:
- Leer datos confidenciales de la aplicación, así como documentos o directorios.
- Modificar información, documentos y directorios sensibles.
- Elevar sus privilegios para poder leer o modificar datos directamente o mediante el acceso a funcionalidades críticas.
- Llevar a cabo ataques de denegación de servicio (DoS) mediante el acceso a los recursos del sistema y el consumo excesivo de dichos recursos.
¿Por qué surge esta clase de debilidad? Como sucede en la mayoría de las categorías que conforman este ranking de las debilidades más peligrosas de los software, el origen se encuentra en la omisión de tácticas de seguridad durante el diseño de la arquitectura del programa.
Además, también pueden surgir deficiencias en el proceso de autorización cuando una aplicación de usuario único es trasladada a un entorno multiusuario o cuando un desarrollador no comprende de forma robusta las tecnologías subyacentes y, por lo tanto, no implementa las medidas de seguridad adecuadas al desarrollar.
Hace tan solo unos días se hizo pública una vulnerabilidad de evasión de la autorización en Barn2 Plugins Document Library Lite (CVE-2025-67985). Sin embargo, hemos conocido diversas vulnerabilidades de este tipo a lo largo del último año: el CVE-2025-41232 (en el framework de Spring Security), el CVE-2025-26378 (en el software para la gestión del tráfico Q-Free MaxTime) o la recientemente publicada CVE-2025-0836 (en la plataforma de gestión de videovigilancia Milestone Systems XProtect VMS).
Esta debilidad ha experimentado la subida más notable en el ranking de debilidades más peligrosas de los software, pasando del 9º puesto al 4º.
5. Escritura fuera de límites
El software escribe datos fuera de los límites del búfer de memoria previstos o en una memoria que no resulta válida. De ahí que esta debilidad también sea conocida como corrupción de la memoria o desbordamiento de búfer. ¿Cuáles son las posibles consecuencias de esta debilidad?
- Daños en la memoria del programa, como consecuencia de que el actor hostil pueda modificar datos de control, como direcciones de retorno y, así, ejecutar código malicioso.
- Bloqueo del software, al intentar acceder a memoria fuera de rango o inválida.
- Resultados inesperados o indefinidos provocados por operaciones de escritura posteriores.
Podemos encontrar ejemplos recientes de vulnerabilidades de este tipo como el CVE-2025-60015 (que afecta al sistema operativo de dispositivos de red F5OS), el CVE-2025-53367 (presente en el software de creación y manipulación de documentos DjVuLibre) o el CVE-2025-9242 (detectada en WatchGuard Fireware).
A diferencia de la categoría anterior, esta debilidad desciende tres posiciones con respecto al anterior ranking de las debilidades más peligrosas de los software.
6. Path Traversal
Esta debilidad se produce cuando un software emplea inputs externos para construir la ruta de acceso destinada a identificar un archivo o directorio que se ubica dentro de un directorio principal que está restringido, pero no es capaz de neutralizar los elementos especiales dentro de la ruta que pueden provocar que se resuelva fuera del directorio restringido.
De esta forma, los actores maliciosos pueden salir de la ubicación restringida y acceder a archivos que se alojan en otras partes del sistema del programa.
Las consecuencias de la explotación de esta vulnerabilidad son que el actor malicioso podría:
- Crear y sobrescribir archivos críticos empleados para ejecutar código. Además, si el archivo sobrescrito se emplea en un mecanismo de seguridad, podría eludirse el mismo.
- Leer el contenido de los archivos y exponer datos confidenciales del software. Además, si se trata de un archivo usado en un mecanismo de seguridad, también podría eludirse.
- Sobrescribir, eliminar o dañar archivos críticos e impedir, así, que el software funcione adecuadamente o conseguir bloquear el acceso de los usuarios.
Algunos ejemplos de vulnerabilidades Path Traversal son el CVE-2023-2825, que afectó a Gitlab y permitía leer archivos arbitrarios en el servidor; el CVE-2024-53677, detectada en el framework Apache Struts, que permitía ejecutar código de manera remota; o, recientemente, el CVE-2025-64446, presente en el firewall FortiWeb.
Esta debilidad ha caído un puesto en el ranking con respecto al año anterior.
7. Uso después de la liberación
La debilidad Use-After-Free (UAF) se produce cuando un programa sigue utilizando un puntero después de que la memoria asociada a este haya sido liberada y asignada a otro puntero.
Cualquier operación realizada usando el puntero original no es válida, porque la memoria ahora pertenece al código que opera desde el nuevo puntero.
¿Cuáles son las consecuencias de esta debilidad?
- Corrupción de la memoria.
- Ejecución de código arbitrario.
- Fallos del sistema.
A comienzos de 2025 se detectó una vulnerabilidad UAF en el kernel de Linux (CVE-2025-21726) y hace un par de meses se hizo pública otra vulnerabilidad UAF en la librería estándar QuickJS Javascript Engine (CVE-2025-62491).
En el ranking de las debilidades más peligrosas de los software se sitúa un puesto más arriba que en el top anterior.

8. Lectura fuera de límites
De manera análoga a lo que sucede con la escritura fuera de límites, el software lee fuera de los límites previstos del búfer de memoria. Lo que puede provocar que:
- Un atacante obtenga claves criptográficas, información personal de los usuarios o direcciones de memoria que pudiera usar en otros ataques.
- Sea posible eludir ASLR y otros mecanismos de seguridad gracias a la obtención de direcciones de memoria y otra información.
- Se produzca un error de segmentación o un bloqueo al conseguir que la memoria se lea fuera de los límites establecidos.
Algunos ejemplos recientes de esta debilidad son el CVE-2025-58281 (presente en Huawei-HarmonyOS), el CVE 2025-29834 (que afectó a Microsoft Edge) o el CVE 2025-5777 (en Citrix NetScaler). Esta debilidad ha descendido dos puestos en el ranking de las debilidades más peligrosas de los software.
9. Inyección OS Command
El software construye un comando del sistema operativo (OS) usando inputs influenciados externamente por un componente ascendente. Sin embargo, no neutraliza de manera adecuada los elementos especiales que podrían modificar el comando del OS cuando se envía a un componente descendente.
De esta forma, un actor malicioso podría ejecutar comandos no autorizados en el sistema operativo para desactivar el software o leer y modificar datos sensibles.
Además, habida cuenta de que es el sistema operativo el que ejecuta los comandos, podría parecer que la actividad maliciosa procede del software, pasando así desapercibida y maximizando el daño potencial.
Algunos ejemplos de esta debilidad son el CVE-2025-24971 (presente en DumbDrop, una aplicación para subir documentos a carpetas de un servidor), el CVE-2025-3022 (que afectó al programa de gestión de proyectos e-management) o el CVE-2024-3400 y el CVE-2025-0127 (vulnerabilidades detectadas en el software PAN-OS que ejecuta cortafuegos y funciona como primera capa de defensa de miles de compañías).
10. Inyección de código
Esta debilidad consiste en la incapacidad de los mecanismos de seguridad del software para neutralizar elementos especiales en los inputs con los que se construye todo o parte de un segmento de código. De tal forma que permiten que estos elementos especiales modifiquen la sintaxis y el comportamiento del segmento de código previsto.
Entre las consecuencias de la explotación de esta debilidad se encuentran:
- El acceso remoto de los atacantes gracias a que el código inyectable es capaz de controlar el proceso de autenticación.
- Acceso ilegítimo a recursos del programa empleando el código inyectado.
- Alteración del flujo de control previsto del software. Lo que puede facilitar la inyección de código arbitrario y, así, dañar la integridad de los datos.
- Incapacidad para registrar las acciones ejecutadas por el código inyectado.
Esta clase de vulnerabilidades se han detectado en el último año en software como el ERP SAP S/4HANA (CVE-2025-42957) o en el plugin de WordPress Code Engine (CVE-2025-48169).
Además, claro está, no podemos dejar de hacer referencia a React2Shell (CVE-2025-55182), una de las vulnerabilidades por excelencia de 2025, descubierta a finales de año.
A diferencia del anterior ranking de las debilidades más peligrosas de los software, el de este año sí sitúa en su top 10 a esta debilidad, que asciende un puesto con respecto al año pasado.
La seguridad desde el diseño es crítica para prevenir las debilidades más peligrosas de los software
A partir del sucinto repaso que hemos realizado por las debilidades más peligrosas de los software en la actualidad, podemos concluir que:
- La seguridad debe ser un elemento central a la hora de diseñar la arquitectura de un programa. Para prevenir muchas de las debilidades de los software es fundamental contar con mecanismos de seguridad robustos en la arquitectura.
- Es fundamental garantizar la seguridad del software a lo largo de todo su ciclo de vida (SDLC) para detectar nuevas vulnerabilidades y subsanarlas antes de que los actores maliciosos puedan explotarlas con éxito.
Precisamente, este ranking de las debilidades más peligrosas de los software busca contribuir a fortalecer la seguridad de los programas desde el diseño y mientras se encuentran en el mercado. Para ello, pone el foco en:
- Facilitar la reducción de vulnerabilidades, mediante una planificación arquitectónica segura que permita la eliminación de familias de defectos.
- El ahorro de costes que supone que no se introduzcan debilidades en el desarrollo de los programas. Puesto que así se reducen las vulnerabilidades que habrá que gestionar en el futuro.
- Analizar las tendencias en el ámbito de las vulnerabilidades para ayudar a las compañías a detectar problemas sistémicos e implementar mejores prácticas de seguridad en el desarrollo y mantenimiento de software.

Servicios de ciberseguridad claves para protegerse frente a las debilidades más peligrosas de los software
A la hora de evitar las debilidades más peligrosas de los software y mitigar las vulnerabilidades presentes en los programas, tanto las compañías que desarrollan software como las que emplean programas de terceros necesitan contar con servicios de ciberseguridad claves:
- Auditorías de código fuente. Mediante un análisis estático del código fuente se pueden detectar problemas de seguridad sin la necesidad de que el código tenga que ser ejecutado. De tal forma que se pueden descubrir debilidades y malas prácticas de desarrollo con rapidez y en fases tempranas del mismo. Además, también es posible analizar en profundidad todos los flujos posibles de ejecución del código fuente para prevenir la aparición de debilidades relacionadas con la arquitectura del programa.
- Auditorías de seguridad continuas. Esta clase de auditoría permite identificar debilidades en las aplicaciones y verificar toda clase de inyecciones y técnicas avanzadas sobre sus puntos de entrada. Además, también es clave a la hora de identificar vulnerabilidades relacionadas con el uso de software o frameworks con debilidades, así como las debilidades relacionadas con la lógica de negocio del software, que pueden pasar desapercibidas para las herramientas automáticas de análisis.
- Servicios de pentesting. Los test de intrusión avanzados son pruebas de seguridad ofensiva que simulan ciberataques reales en entornos controlados para identificar debilidades que podrían ser aprovechadas por los actores maliciosos y comprobar si se pueden completar amenazas concretas contra las empresas como el acceso a información confidencial o una disrupción en la operatividad del software. Además, los pentesters
- Gestión de vulnerabilidades. Gestionar las vulnerabilidades que afectan al software corporativo es una tarea esencial de la estrategia de ciberseguridad de cualquier compañía. Mediante la gestión de vulnerabilidades se pueden minimizar los riesgos de sufrir incidentes de seguridad, monitorizar de manera continua los programas y diseñar un plan de mitigación que priorice las vulnerabilidades que presentan mayor riesgo de ser explotadas y/o pueden causar un daño mayor al modelo de negocio de la empresa.
Conclusiones
Las debilidades más peligrosas de los software abren la puerta a que los programas tengan vulnerabilidades que, de ser explotadas, pueden desencadenar graves consecuencias para las empresas que los fabrican y/o emplean.
Por eso, es crítico que tanto los desarrolladores como las compañías que trabajan con software de terceros cuenten con estrategias de seguridad encaminadas a erradicar las debilidades y detectar y mitigar las vulnerabilidades.
El ranking de las debilidades más peligrosas de los software nos permite:
- Poner el foco en las áreas en las que los programas son más inseguros.
- Hacer hincapié en la necesidad de acometer la seguridad de los software desde el diseño de su arquitectura y a lo largo de todo su ciclo de vida.