Recientemente, Redhat emitió un aviso de riesgo para la vulnerabilidad de escalada de privilegios locales del kernel de Linux, el número de vulnerabilidad es CVE-2022-3977. Esta vulnerabilidad es un error de uso posterior a la liberación que se encontró en mctp_sk_unhash en la red/mctp/af_mctp.c del kernel de Linux. El motivo de esta es que el DROPTAG ioctl y el cierre del socket simultáneos pueden provocar una condición de carrera. La vulnerabilidad es informada por Active Defense Lab de Venustech.
“Un usuario sin privilegios lo reprodujo con nuevos espacios de nombres. Causaría una escalada de privilegios locales (LPE). Se introdujo en v5.18.0, la confirmación es 63ed1aab3d40aa61aaa66819bdce9377ac7f40fa. Afectó todo el camino hasta upstream v6.0.0 y estable. Desafortunadamente, el módulo del kernel mctp no se carga automáticamente”, se lee en el sitio web de seclists.
El problema es que se identificó una vulnerabilidad use-after-free dentro de mctp_sk_unhash en net/mctp/af_mctp.c en el último kernel de Linux que se puede explotar para lograr una escalada de privilegios a la raíz. Use-after-free se refiere a una vulnerabilidad de corrupción de memoria que ocurre cuando una aplicación intenta usar la memoria que ya no tiene asignada (o liberada), después de que esa memoria se haya asignado a otra aplicación. Esto puede provocar bloqueos y que los datos se sobrescriban sin darse cuenta, o en escenarios de ataques cibernéticos puede conducir a la ejecución de código arbitrario o permitir que un atacante obtenga capacidades de ejecución remota de código.
La vulnerabilidad se introdujo en el compromiso. “Agrega SIOCMCTP{ALLOC,DROP}TAG ioctls para control de etiquetas. Este cambio agrega un par de nuevos ioctls para conectores mctp: SIOCMCTPALLOCTAG y SIOCMCTPDROPTAG. donde un DROPTAG ioctl y un cierre de socket simultáneos pueden correr, ya que intentamos eliminar una clave de las listas dos veces y realizamos un unref para cada operación de eliminación. Esto puede resultar en un uaf cuando intentemos la segunda falta de ref.”
La vulnerabilidad CVE-2022-3977 se corrigió en el kernel de Linux a través de este compromiso. En la actualidad, los mantenedores del kernel de Linux han emitido oficialmente parches de seguridad. Se recomienda que los usuarios actualicen los servidores Linux de inmediato y apliquen los parches para otras distribuciones tan pronto como estén disponibles. También se recomiendan para permitir que solo los usuarios de confianza accedan a los sistemas locales y siempre supervisen los sistemas afectados.
Crédito: Raúl Martínez