
Varios exploits del kernel
Varios exploits del kernel
Exploit local de root en Linux.
Versión actualizada del exploit de theflow para CVE-2021-22555.
Se descubrió una escritura fuera de los límites del heap que afecta a Linux desde v2.6.19-rc1 en net/netfilter/x_tables.c. Esto permite a un atacante obtener privilegios o causar una denegación de servicio (DoS) (mediante corrupción de memoria del heap) a través del espacio de nombres de usuario.
Exploit local de root en Linux.
Versión actualizada del exploit de Jann Horn para CVE-2019-13272.
En el kernel de Linux anterior a 5.1.17, ptrace_link en kernel/ptrace.c gestiona incorrectamente el registro de las credenciales de un proceso que quiere crear una relación ptrace, lo que permite a usuarios locales obtener acceso root aprovechando ciertos escenarios con una relación de proceso padre-hijo, donde un padre abandona privilegios y llama a execve (potencialmente permitiendo el control por parte de un atacante). Un factor que contribuye es un problema de ciclo de vida del objeto (que también puede causar un pánico). Otro factor que contribuye es el marcado incorrecto de una relación ptrace como privilegiada, que es explotable a través (por ejemplo) del helper pkexec de Polkit con PTRACE_TRACEME. NOTA: SELinux deny_ptrace podría ser una solución alternativa utilizable en algunos entornos.
Exploit local de root en Linux.
Wrapper del exploit de Jann Horn para CVE-2018-18955.
En el kernel de Linux 4.15.x hasta 4.19.x anterior a 4.19.2, map_write() en kernel/user_namespace.c permite la escalada de privilegios porque gestiona incorrectamente espacios de nombres de usuario anidados con más de 5 rangos UID o GID. Un usuario que tenga CAP_SYS_ADMIN en un espacio de nombres de usuario afectado puede omitir los controles de acceso sobre recursos fuera del espacio de nombres, como se demuestra leyendo /etc/shadow. Esto ocurre porque una transformación de ID se lleva a cabo correctamente en la dirección desde el espacio de nombres hacia el kernel, pero no en la dirección desde el kernel hacia el espacio de nombres.
Exploit local de root en Linux.
Versión actualizada del exploit de wbowling para CVE-2018-5333.
En el kernel de Linux hasta 4.14.13, la función rds_cmsg_atomic en net/rds/rdma.c gestiona incorrectamente los casos en los que falla el fijado de página (page pinning) o se proporciona una dirección no válida, lo que conduce a una desreferencia de puntero NULL en rds_atomic_free_op.
Exploit local de root en Linux.
Versión actualizada del exploit de xairy para CVE-2017-1000112.
Kernel de Linux: corrupción de memoria explotable debido al cambio de ruta UFO a no-UFO. Al construir un paquete UFO con MSG_MORE, __ip_append_data() llama a ip_ufo_append_data() para añadir datos. Sin embargo, entre dos llamadas a send(), la ruta de añadido puede cambiarse de UFO a no-UFO, lo que conduce a una corrupción de memoria. En caso de que la longitud del paquete UFO supere la MTU, copy = maxfraglen - skb->len se vuelve negativo en la ruta no-UFO y se toma la rama para asignar un nuevo skb. Esto desencadena la fragmentación y el cálculo de fraggap = skb_prev->len - maxfraglen. Fraggap puede superar la MTU, provocando que copy = datalen - transhdrlen - fraggap se vuelva negativo. Posteriormente, skb_copy_and_csum_bits() escribe fuera de los límites. Un problema similar está presente en el código IPv6. El error se introdujo en e89e9cf539a2 ("[IPv4/IPv6]: UFO Scatter-gather approach") el 18 de octubre de 2005.
Exploit local de root en Linux.
Versión actualizada del exploit de xairy para CVE-2017-7308.
La función packet_set_ring en net/packet/af_packet.c del kernel de Linux hasta 4.10.6 no valida correctamente ciertos datos de tamaño de bloque, lo que permite a usuarios locales causar una denegación de servicio (error de signo en enteros y escritura fuera de límites), u obtener privilegios (si se tiene la capacidad CAP_NET_RAW), mediante llamadas al sistema manipuladas.
Exploit local de root en Linux.
Versión actualizada del exploit de xairy para CVE-2016-9793.
La función sock_setsockopt en net/core/sock.c del kernel de Linux anterior a 4.8.14 gestiona incorrectamente valores negativos de sk_sndbuf y sk_rcvbuf, lo que permite a usuarios locales causar una denegación de servicio (corrupción de memoria y caída del sistema) o posiblemente tener otro impacto no especificado aprovechando la capacidad CAP_NET_ADMIN para una llamada al sistema setsockopt manipulada con la opción (1) SO_SNDBUFFORCE o (2) SO_RCVBUFFORCE.
Exploit local de root en Linux.
Versión actualizada del exploit de rebel para CVE-2016-8655.
Una condición de carrera en net/packet/af_packet.c del kernel de Linux hasta 4.8.12 permite a usuarios locales obtener privilegios o causar una denegación de servicio (use-after-free) aprovechando la capacidad CAP_NET_RAW para cambiar una versión de socket, relacionada con las funciones packet_set_ring y packet_setsockopt.