Linux y la paradoja de las vulnerabilidades: más reportes, ¿más seguridad?
Recientemente hemos publicado nuestro Informe sobre el estado de la seguridad 2024 H2, un detallado análisis en torno a las principales amenazas, vulnerabilidades y tendencias en el ámbito de la Ciberseguridad durante el segundo semestre del año pasado.
En el apartado que se refiere a la identificación de las vulnerabilidades críticas descubiertas en el semestre observamos aumento significativo en el número de vulnerabilidades reportadas y corregidas asociadas a Linux. Mientras que en semestres anteriores se registraban en torno a 200 vulnerabilidades, en el segundo semestre de 2024 se han documentado 1.215. Esto representa un incremento de más del 500% que no tiene una explicación única y fácil, lo que ha generado preguntas sobre su causa y significado.

A primera vista esto podría parecer una señal de mayor inseguridad, pero la realidad es mucho más compleja. Para comprender mejor este fenómeno, hemos recopilado explicaciones que podrían ayudar a dar respuesta a este incremento en el número de vulnerabilidades reportadas.
■ Los CVE (Common Vulnerabilities and Exposures) son identificadores únicos asignados a vulnerabilidades de seguridad conocidas en software y sistemas. Su propósito es estandarizar la identificación y documentación de fallos, facilitando su seguimiento y mitigación para gestionar amenazas, aplicar medidas correctivas y mejorar la seguridad en los sistemas de manera más eficiente.
1. El kernel de Linux como Autoridad de Numeración de CVE (CNA)
Una explicación clave para este incremento es que, en 2024, el kernel de Linux fue acreditado como Autoridad de Numeración de CVE (CNA) por el Programa CVE. Esto permite al equipo del kernel asignar identificadores CVE a las vulnerabilidades que descubren y corrigen. Debido a esto la documentación de vulnerabilidades se ha vuelto más detallada y frecuente, y eso ha contribuido al aumento del número de los CVE registrados en la segunda mitad de 2024.
Este cambio ha incrementado la transparencia en el proceso de divulgación de vulnerabilidades y ha permitido una mejor organización en la gestión de seguridad del kernel. Aunque el número de CVE reportados ha aumentado, esto no indica necesariamente un incremento en la inseguridad del sistema y podría indicar justo lo contrario: una mejora en la documentación y visibilidad de los problemas resueltos. Como ahora es más fácil la gestión de CVE, incluso los fallos más minúsculos serán reportados y clasificados.
2. Transparencia del código abierto
A diferencia de los sistemas propietarios, Linux opera bajo un modelo de código abierto, lo que significa que cualquiera puede examinar su código, buscar fallos y reportarlos. Esta transparencia lleva a que las vulnerabilidades sean documentadas de manera pública y accesible.
Esto implica que la percepción de seguridad basada únicamente en el número de vulnerabilidades registradas es engañosa. Un sistema con menos reportes no es necesariamente más seguro: podría simplemente ser menos auditado o menos transparente en la divulgación de fallos.
3. La seguridad como un proceso activo
Linux cuenta con una comunidad global de desarrolladores e investigadores de seguridad que trabajan de manera continua para encontrar y corregir vulnerabilidades. Este nivel de escrutinio podría ser mayor que en el caso de otros sistemas cuyas auditorias de seguridad dependen solo de los equipos que los desarrollan.
Un sistema con una comunidad activa que constantemente busca errores y los corrige es más seguro a largo plazo. En este sentido, el aumento en los CVE reportados podría no ser un signo de debilidad, sino de una vigilancia constante que permite resolver problemas antes de que puedan ser explotados.
4. Omnipresencia de Linux: más código, más reportes
Linux no es un sistema operativo rígido y limitado a un único tipo de uso. Se encuentra presente en servidores empresariales, sistemas embebidos, dispositivos IoT, supercomputadoras o smartphones. Este uso tan diverso implica una base de código enorme con distintas capas de funcionalidad, desde el kernel hasta los módulos y drivers.
Cada nueva aplicación de Linux introduce nuevos escenarios de seguridad que requieren revisión. Mientras más amplio sea el ecosistema Linux, más vulnerabilidades potenciales surgirán simplemente por la escala de su implementación y usos. Sin embargo, esto no significa que Linux sea inherentemente más inseguro, sino que es un sistema que evoluciona para adaptarse a todos estos entornos.
5. No se trata solo de encontrar fallos, sino de solucionarlos
El hecho de que el ecosistema de Linux haya corregido más de 1.200 vulnerabilidades en seis meses podría significar una señal de buena salud. En la industria del software, lo realmente preocupante no es cuántas vulnerabilidades se encuentran, sino cuánto tiempo permanecen sin solución.
El ecosistema de Linux, con su estructura de desarrollo abierto y su modelo de actualizaciones frecuentes, permite una corrección rápida de los errores.
6. La definición de ‘Linux’ y la forma de contar vulnerabilidades
Otro factor clave es cómo se contabilizan los CVE en Linux. La categoría ‘Linux’ en los reportes de vulnerabilidades no solo incluye el kernel principal, sino también una amplia variedad de módulos, drivers y componentes periféricos. Cada uno de estos elementos puede generar CVE individuales, lo que aumenta artificialmente el número total reportado.
Si un driver específico recibe múltiples reportes de vulnerabilidad, cada uno puede ser contabilizado como un CVE separado, aunque su impacto real sobre la seguridad general del sistema sea mínimo. Este nivel de granularidad en los reportes contribuye a inflar las cifras, pero no significa necesariamente que el núcleo del sistema sea más inseguro.
Conclusión
La percepción de seguridad basada en la cantidad de vulnerabilidades reportadas puede ser engañosa. En el caso de Linux, el aumento en el número de CVE puede deberse a que es un sistema abierto y auditado donde los fallos se encuentran, documentan y corrigen de forma rápida y transparente. También muy probablemente reflejan la conversión del kernel de Linux en Autoridad de Numeración de CVE, aumentando la visibilidad y responsabilidad en la gestión de vulnerabilidades.
La seguridad de cualquier sistema no depende solo de la cantidad de vulnerabilidades encontradas, sino también de cómo se gestionan y de las medidas que se toman para mitigar riesgos.
En última instancia, la interpretación de este tipo de datos siempre debe de hacerse en contexto, considerando no solo la cantidad de vulnerabilidades reportadas, sino también su gravedad, tiempo de resolución y modelo de desarrollo. Evaluar la seguridad de un sistema requiere un análisis más amplio que va más allá de las cifras brutas de vulnerabilidades acumuladas.
— POR David García, Sergio de los Santos, NACHO PALOU —