Parche CVE-2020-14386 sin reiniciar con KernelCare
CVE-2020-14386 es una nueva vulnerabilidad del kernel que puede ser explotada para obtener privilegios de root desde procesos sin privilegios. Corrompe la memoria en los núcleos más recientes que 4.6 en varias distribuciones de Linux, incluyendo:
- Ubuntu Bionic (18.04) y versiones posteriores
- Debian 9 y 10
- CentOS 8/RHEL 8
Acerca de las vulnerabilidades de corrupción de memoria
La corrupción de memoria es una de las vulnerabilidades más frecuentes, devastadoras y ampliamente explotadas.
Según la investigación de Chengyu Song, de Georgia Tech, las causas fundamentales de este tipo de vulnerabilidad son:
- Errores espaciales: Comprobación de límites omitida, comprobación de límites incorrecta, cadena de formato, confusión de tipos, desbordamiento de enteros, etc.
- Errores temporales: Datos no inicializados.
Existen varias técnicas de explotación para las vulnerabilidades de corrupción de memoria:
- Ataques de inyección (modificación) de código
- Ataques de secuestro del flujo de control
- Ataques orientados a los datos
- Fuga de información
- Uso de datos no inicializados
Las violaciones de la seguridad de la memoria y los ataques a la integridad del flujo de control han sido una amenaza destacada para la seguridad de las infraestructuras empresariales durante más de dos décadas. Hoy en día, la necesidad de protecciones contra la corrupción de la memoria es cada vez mayor.
Cómo se identificó
Mientras auditaba las fuentes del kernel 5.7, Or Cohen de Palo Alto Networks ha descubierto una vulnerabilidad de gravedad moderada(CVE-2020-14386) que conduce a la corrupción de memoria en (net/packet/af-packet.c).
El fallo se produce en la función tpacker_rcv, cuando al calcular la variable netoff (unsigned short), se le añade po->tp_reserve (unsigned int) lo que puede desbordar a netoff por lo que obtiene un valor pequeño. Sólo un usuario local con la capacidad CAP_NET_RAW habilitada puede activar esta vulnerabilidad.
El fallo puede ser explotado para obtener privilegios de root desde procesos sin privilegios y corrompe la memoria en kernels más recientes que 4.6 en varias distribuciones de Linux, incluyendo Ubuntu Bionic(18.04) y posteriores, Debian 9, Debian 10 y CentOS 8/RHEL 8.
Hasta qué punto es perjudicial
Si la capacidad CAP_NET_RAW está desactivada por defecto (que es el caso de todos los productos RHEL), sólo un usuario con privilegios puede activar el fallo. Por este motivo, esta vulnerabilidad tiene una puntuación base CVSS v3 de 6,7 y un impacto moderado.
Es decir, no es fácil de explotar, pero aun así podría comprometer la confidencialidad, integridad o disponibilidad de los recursos en determinadas circunstancias.
Cómo mitigar CVE-2020-14386
Puede utilizar uno de los siguientes métodos para mitigar la vulnerabilidad CVE-2020-14386:
- Aplicar la mitigación del vendedor
Por ejemplo, la mitigación de Redhat consiste en desactivar la capacidad CAP_NET_RAW para los usuarios normales y para los ejecutables, en su caso.
La mitigación de Canonical Ubuntu es desactivar user_namespaces:
sudo sysctl kernel.unprivileged_userns_clone=0
Este método no requiere reinicio.
- Actualice el kernel a la versión más reciente una vez que esté disponible.
La forma más sencilla, aunque ciertamente no la más fácil de hacerlo, es reiniciar el servidor y actualizar el kernel a la versión más reciente. - Instale parches de seguridad mediante live patching.
Conun sistema de live patching, como KernelCare, la corrección necesaria se aplica sin reiniciar el servidor. Con KernelCare en particular, el equipo de KernelCare está creando ahora parches que solucionarán esta vulnerabilidad. Los parches para Ubuntu 18.04 y versiones posteriores se esperan para esta semana, seguidos de los parches para RHEL y Debian.
Calendario de publicación de parches de KernelCare:
- Ubuntu 18.04 y versiones posteriores - Lunes 14
Lanzamiento de los parches KernelCare:
- Proxmox 5 y 6
- Ubuntu 16.04 (Xenial Xerus)
- Ubuntu 18.04 (Castor Biónico)
- Ubuntu 20.04 (Fosa Focal)
Esté atento a esta entrada del blog y a nuestro Twitter y Facebook para ser el primero en saber cuándo se añaden los parches al feed de producción.
Más información sobre cómo KernelCare aborda otras vulnerabilidades críticas:
- Zombieload 2: ¡El equipo KernelCare está en ello!
- SWAPGS: Parches KernelCare en camino
- SACK Pánico y Lentitud: Ya están aquí los parches KernelCare Live
- RIDL - Otro ataque MDS del que Live Patching le habría salvado
- Fallout - el ataque de canal lateral de MDS que no es Zombieload
- QEMU-KVM vhost/vhost_net Guest to Host Kernel Escape Vulnerability (Vulnerabilidad de fuga de kernel de huésped a host en QEMU-KVM)
- Parches CVE-2018-1000199
- Vulnerabilidad de Intel DDIO 'NetCat
