
Various kernel exploits
Vari exploit del kernel
Exploit Linux per root locale.
Versione aggiornata dell'exploit di theflow per CVE-2021-22555.
Una scrittura fuori dai limiti nella heap che riguarda Linux dalla v2.6.19-rc1 è stata scoperta in net/netfilter/x_tables.c. Ciò consente a un attaccante di ottenere privilegi o causare un DoS (tramite corruzione della memoria heap) usando un user namespace.
Exploit Linux per root locale.
Versione aggiornata dell'exploit di Jann Horn per CVE-2019-13272.
Nel kernel Linux precedente alla 5.1.17, ptrace_link in kernel/ptrace.c gestisce in modo errato la registrazione delle credenziali di un processo che vuole creare una relazione ptrace, il che consente a utenti locali di ottenere accesso root sfruttando determinati scenari con una relazione processo genitore-figlio, in cui un genitore abbandona i privilegi e chiama execve (permettendo potenzialmente il controllo da parte di un attaccante). Un fattore che contribuisce è un problema di durata dell'oggetto (che può anche causare un panic). Un altro fattore che contribuisce è la marcatura errata di una relazione ptrace come privilegiata, sfruttabile ad esempio tramite l'helper pkexec di Polkit con PTRACE_TRACEME. NOTA: SELinux deny_ptrace potrebbe essere una soluzione utilizzabile in alcuni ambienti.
Exploit Linux per root locale.
Wrapper per l'exploit di Jann Horn per CVE-2018-18955.
Nel kernel Linux 4.15.x fino alla 4.19.x precedente alla 4.19.2, map_write() in kernel/user_namespace.c consente l'escalation dei privilegi perché gestisce in modo errato i user namespace annidati con più di 5 intervalli UID o GID. Un utente che dispone di CAP_SYS_ADMIN in un user namespace interessato può bypassare i controlli di accesso sulle risorse esterne al namespace, come dimostrato dalla lettura di /etc/shadow. Ciò accade perché una trasformazione ID avviene correttamente nella direzione da namespace a kernel ma non nella direzione da kernel a namespace.
Exploit Linux per root locale.
Versione aggiornata dell'exploit di wbowling per CVE-2018-5333.
Nel kernel Linux fino alla 4.14.13, la funzione rds_cmsg_atomic in net/rds/rdma.c gestisce in modo errato i casi in cui il pinning della pagina fallisce o viene fornito un indirizzo non valido, portando a una dereferenza di puntatore NULL in rds_atomic_free_op.
Exploit Linux per root locale.
Versione aggiornata dell'exploit di xairy per CVE-2017-1000112.
Kernel Linux: corruzione della memoria sfruttabile dovuta al passaggio dal percorso UFO al percorso non-UFO. Quando si costruisce un pacchetto UFO con MSG_MORE, __ip_append_data() chiama ip_ufo_append_data() per l'append. Tuttavia, tra due chiamate send(), il percorso di append può essere commutato da UFO a non-UFO, il che porta a una corruzione della memoria. Nel caso in cui la lunghezza del pacchetto UFO superi l'MTU, copy = maxfraglen - skb->len diventa negativo nel percorso non-UFO e viene preso il ramo per allocare un nuovo skb. Questo innesca la frammentazione e il calcolo di fraggap = skb_prev->len - maxfraglen. Fraggap può superare l'MTU, facendo diventare negativo copy = datalen - transhdrlen - fraggap. Successivamente, skb_copy_and_csum_bits() scrive fuori dai limiti. Un problema simile è presente nel codice IPv6. Il bug è stato introdotto in e89e9cf539a2 ("[IPv4/IPv6]: UFO Scatter-gather approach") il 18 ottobre 2005.
Exploit Linux per root locale.
Versione aggiornata dell'exploit di xairy per CVE-2017-7308.
La funzione packet_set_ring in net/packet/af_packet.c nel kernel Linux fino alla 4.10.6 non convalida correttamente alcuni dati relativi alla dimensione dei blocchi, il che consente a utenti locali di causare un denial of service (errore di segno negli interi e scrittura fuori dai limiti), o di ottenere privilegi (se si dispone della capacità CAP_NET_RAW), tramite system call appositamente create.
Exploit Linux per root locale.
Versione aggiornata dell'exploit di xairy per CVE-2016-9793.
La funzione sock_setsockopt in net/core/sock.c nel kernel Linux precedente alla 4.8.14 gestisce in modo errato i valori negativi di sk_sndbuf e sk_rcvbuf, il che consente a utenti locali di causare un denial of service (corruzione della memoria e crash di sistema) o possibilmente avere altro impatto non specificato sfruttando la capacità CAP_NET_ADMIN per una system call setsockopt appositamente creata con l'opzione (1) SO_SNDBUFFORCE o (2) SO_RCVBUFFORCE.
Exploit Linux per root locale.
Versione aggiornata dell'exploit di rebel per CVE-2016-8655.
Condizione di corsa in net/packet/af_packet.c nel kernel Linux fino alla 4.8.12 consente a utenti locali di ottenere privilegi o causare un denial of service (use-after-free) sfruttando la capacità CAP_NET_RAW per cambiare la versione di un socket, in relazione alle funzioni packet_set_ring e packet_setsockopt.