Vulnerabilitat al subsistema netfilter que permet l'execució de codi a nivell del nucli Linux

S'ha identificat una vulnerabilitat (CVE-2022-25636) a Netfilter, un subsistema del nucli de Linux utilitzat per filtrar i modificar paquets de xarxa, que podria permetre l'execució de codi a nivell del nucli. S'ha anunciat un exemple d'explotació que permet a un usuari local elevar els seus privilegis a Ubuntu 21.10 amb el mecanisme de seguretat KASLR desactivat. El problema es manifesta a partir del nucli 5.4. La correcció encara està disponible com a pedaç (no s'han format versions correctives del nucli). Podeu seguir la publicació d'actualitzacions de paquets en distribucions en aquestes pàgines: Debian, SUSE, Ubuntu, RHEL, Fedora, Gentoo, Arch Linux.

La vulnerabilitat és causada per un error en el càlcul de la mida de la matriu flow->rule->action.entries a la funció nft_fwd_dup_netdev_offload (definida al fitxer net/netfilter/nf_dup_netdev.c), que pot provocar que les dades controlades per l'atacant escrit en una àrea de memòria fora dels límits de la memòria intermèdia assignada. L'error es manifesta quan s'estableixen les regles "dup" i "fwd" en cadenes per a les quals s'utilitza l'acceleració de maquinari del processament de paquets (descàrrega). Com que el desbordament es produeix abans de la creació de la regla de filtre de paquets i la comprovació de la compatibilitat amb la descàrrega, la vulnerabilitat també s'aplica als dispositius de xarxa que no admeten l'acceleració de maquinari, com ara una interfície de loopback.

S'observa que el problema és bastant senzill d'explotar, ja que els valors que van més enllà de la memòria intermèdia poden sobreescriure el punter a l'estructura net_device, i les dades sobre el valor sobreescrit es retornen a l'espai de l'usuari, cosa que permet esbrinar el adreces en memòria necessàries per dur a terme l'atac. L'explotació de la vulnerabilitat requereix la creació de determinades regles en nftables, que només és possible amb els privilegis CAP_NET_ADMIN, que pot obtenir un usuari sense privilegis en un espai de noms de xarxa independent (espais de noms de xarxa). La vulnerabilitat també es podria utilitzar per atacar sistemes d'aïllament de contenidors.

Font: opennet.ru

Afegeix comentari