ClickCease "Tuberías sucias" en el Kernel - TuxCare

Únase a nuestro popular boletín

Únase a más de 4.500 profesionales de Linux y el código abierto.

2 veces al mes. Sin spam.

"Tuberías sucias" en el núcleo

8 de marzo de 2022 - Equipo de relaciones públicas de TuxCare

Hace unos años, una vulnerabilidad apodada "Dirty Cow" (CVE-2016-5195) estuvo en el punto de mira durante un tiempo. Se trataba de una ruta de escalada de privilegios explotable de forma trivial que afectaba básicamente a cualquier distribución de Linux y que se explotó ampliamente. Esa vulnerabilidad abusaba del mecanismo Copy-On-Write (COW) del Kernel y, tiempo después, se descubrió que era explotable de forma remota a través de servidores web que permitían la carga de archivos.

El 7 de marzo de 2022, se reveló una vulnerabilidad similar, que también afectaba a todas las distribuciones recientes de Linux, apodada "Dirty Pipe"(CVE-2022-0847). Permite a un usuario sin privilegios sobrescribir cualquier archivo, o parte de un archivo, en un sistema Linux, incluso los de sólo lectura. Ya se han divulgado varias variantes que permiten sustituir archivos SUID.

Los parches para CVE-2022-0847 estarán disponibles a través de KernelCare en los próximos días, y este post se actualizará con la información de disponibilidad a medida que cada uno esté listo. En este momento, las versiones vulnerables del kernel incluyen la 5.8 y posteriores, y el commit defectuoso ha sido retroportado también a múltiples versiones 4.x.

[Actualización del 9 de marzo: Las actualizaciones para RHEL 8 y Oracle EL 8 ya están disponibles para su despliegue. Se están preparando más parches para otras distribuciones.

Actualización del 10 de marzo: Las actualizaciones para CentOS8, Almalinux 8, Rocky Linux, Ubuntu 20.04, CloudLinux 8 y CloudLinux 7h también se han completado y van a aparecer en los feeds.

Actualización del 11 de marzo: Lanzamiento de otro lote de actualizaciones para Ubuntu 18.04, Proxmox VE5 y Proxmox VE6].

Para entender el fallo subyacente detrás de CVE-2022-0847, es importante que primero ofrezcamos una breve información sobre CVE-2016-5195. La "vaca sucia" era posible porque se detectó una condición de carrera en el subsistema Copy-On-Write del kernel. Como resultado, un usuario sin privilegios podía escribir en ubicaciones de memoria de otro modo inalcanzables a través de este fallo. Esto "ensuciaría" esas posiciones de memoria, de ahí el nombre. Pasar de esto a una elevación de privilegios es una operación trivial para cualquier actor malicioso debidamente motivado, y de hecho, eso es precisamente lo que ocurrió. Aunque "Dirty Cow" comenzó como un exploit exclusivamente local, pronto se descubrió que los servidores web que tenían la opción de aceptar cargas de los usuarios también podían utilizarse como vector de ataque. Por lo tanto, la vulnerabilidad resultó ser explotable de forma remota.

Avanzamos unos años y ahora los equipos de TI se enfrentan a "Dirty Pipe", o CVE-2022-0847 si crees que poner apodos a las vulnerabilidades no es algo muy profesional. Como su nombre indica, esta vez el fallo reside en el código de gestión de tuberías. Las tuberías se utilizan para pasar información entre procesos. La forma más visible en que se utilizan las tuberías es cuando se encadenan comandos, pasando la salida de uno al siguiente a través de una "tubería". Tenga en cuenta que las tuberías se pueden crear directamente en el código en lugar de simplemente ser utilizadas en el shell por un usuario final o script.

Resulta que el código introducido en este commit al Kernel de Linux "refactorizó" la forma en que se manejan las banderas de tuberías (una forma de controlar el comportamiento de las tuberías). Puedes leer el extenso proceso detrás del descubrimiento de esta vulnerabilidad aquí.

En pocas palabras, se hizo posible escribir contenido controlado por el usuario en una ubicación también controlada por el usuario en cualquier archivo dentro del sistema (tenga en cuenta que, dado que todo en un sistema Linux es técnicamente un "archivo", las nuevas variantes de esta vulnerabilidad pueden introducir nuevos comportamientos aún desconocidos). Por ejemplo, introducir nuevo contenido en /etc/shadow, u otras formas más sutiles de manipular un sistema.

Dado que el código de explotación es trivial, ya está ampliamente disponible en línea (aunque no es un impedimento, tratamos de abstenernos de publicar enlaces directos al código de explotación en nuestro blog). Dado que las tuberías son una funcionalidad básica del Kernel, el riesgo potencial que plantea esta vulnerabilidad es muy alto. También cabe destacar que ya se han encontrado varias variantes, en las que se utiliza el mismo fallo para abusar de otros componentes del sistema en lugar de limitarse a escribir directamente en archivos que, de otro modo, no serían escribibles. No es tan descabellado imaginar que en los próximos días aparezcan vectores de ataque explotables remotamente, al igual que aparecieron para "Dirty Cow" en 2016.

Para una comprobación rápida, los clientes pueden verificar la versión del kernel en uso. Los kernels anteriores a 5.8 y a partir de 5.16.11, 5.15.25, 5.10.102 no están afectados. Otras versiones del kernel pueden depender de políticas específicas de backporting de cada proveedor y están siendo evaluadas actualmente.

Las actualizaciones para RHEL 8, Oracle EL 8, CentOS8, Almalinux 8, Rocky Linux, Ubuntu 18.04, Ubuntu 20.04, Proxmox VE5, Proxmox VE6, CloudLinux 8 y CloudLinux 7h ya están disponibles para su despliegue a través de KernelCare Enterprise. Se están preparando más parches para otras distribuciones. Se recomienda encarecidamente a los equipos de TI que parcheen esta vulnerabilidad lo antes posible. Los parches de TuxCare para KernelCare Enterprise estarán disponibles en breve, y este post se actualizará para reflejar la disponibilidad real de estos parches cuando se publique cada uno.

KernelCare Enterprise de TuxCare proporciona parches activos para "Dirty Pipe" incluso cuando el proveedor de la distribución original no puede hacerlo con su propia solución de parches activos.

A través de KernelCare Enterprise, la recepción de parches para esta y otras vulnerabilidades puede realizarse sin interrumpir las cargas de trabajo en ejecución ni tener que reiniciar los sistemas. Si desea saber más sobre KernelCare Enterprise y otros productos TuxCare, consulte aquí.

¿Desea automatizar la aplicación de parches de vulnerabilidad sin reiniciar el núcleo, dejar el sistema fuera de servicio o programar ventanas de mantenimiento?

Más información sobre Live Patching con TuxCare

Conviértete en escritor invitado de TuxCare

Empezar

Correo

Únete a

4,500

Profesionales de Linux y código abierto

Suscríbase a
nuestro boletín