Sono state identificate vulnerabilità sfruttabili nel kernel di Linux in nf_tables, watch_queue e IPsec

Nel kernel di Linux sono state individuate diverse vulnerabilità critiche che consentono a un utente locale di elevare i propri privilegi nel sistema. Sono stati preparati prototipi funzionanti di exploit per tutte le problematiche considerate.

  • La vulnerabilità (CVE-2022-0995) nel sottosistema di tracciamento eventi watch_queue consente la scrittura di dati nelle aree di memoria del kernel al di fuori del buffer allocato. L'attacco può essere eseguito da qualsiasi utente non privilegiato e portare all'esecuzione di codice con i privilegi del kernel. La vulnerabilità si trova nella funzione watch_queue_set_size() ed è legata al tentativo di azzerare tutti i puntatori nella lista, anche se non è stata allocata memoria per loro. Il problema si manifesta nella costruzione del kernel con l'opzione 'CONFIG_WATCH_QUEUE=y', utilizzata nella maggior parte delle distribuzioni Linux.

    La vulnerabilità è stata risolta con una modifica aggiunta al kernel l'11 marzo. È possibile monitorare la pubblicazione degli aggiornamenti dei pacchetti nelle distribuzioni sulle seguenti pagine: Debian, SUSE, Ubuntu, RHEL, Fedora, Gentoo, Arch Linux. Il prototipo dell'exploit è già disponibile pubblicamente e consente di ottenere l'accesso root quando viene eseguito su Ubuntu 21.10 con il kernel 5.13.0-37.

    Sono state identificate vulnerabilità sfruttabili nel kernel di Linux in nf_tables, watch_queue e IPsec
  • Una vulnerabilità (CVE-2022-27666) nei moduli del kernel esp4 ed esp6 che implementano le trasformazioni ESP (Encapsulating Security Payload) per IPsec, utilizzate con IPv4 e IPv6. La vulnerabilità consente a un utente locale con privilegi normali di sovrascrivere oggetti nella memoria del kernel e di aumentare i propri privilegi nel sistema. Il problema è causato dalla mancanza di convalida tra la dimensione di memoria allocata e i dati effettivamente ricevuti, poiché la dimensione massima del messaggio potrebbe superare la dimensione massima di memoria allocata per la struttura skb_page_frag_refill.

    La vulnerabilità è stata corretta nel kernel il 7 marzo (risolta nelle versioni 5.17, 5.16.15 e successivi). Puoi seguire la pubblicazione degli aggiornamenti dei pacchetti nelle distribuzioni su queste pagine: Debian, SUSE, Ubuntu, RHEL, Fedora, Gentoo, Arch Linux. Un prototipo funzionante dell'exploit, che consente a un utente normale di ottenere accesso root su Ubuntu Desktop 21.10 nella configurazione predefinita, è già stato pubblicato su GitHub. Si sostiene che, con lievi modifiche, l'exploit sarà funzionante anche su Fedora e Debian. È interessante notare che l'exploit è stato originariamente preparato per la competizione pwn2own 2022, ma gli sviluppatori del kernel hanno individuato e corretto l'errore associato, quindi è stata presa la decisione di rivelare i dettagli della vulnerabilità.

  • Due vulnerabilità (CVE-2022-1015, CVE-2022-1016) nel sottosistema netfilter nel modulo nf_tables, che gestisce il filtraggio dei pacchetti nftables. Il primo problema consente a un utente non privilegiato locale di ottenere la scrittura oltre il buffer assegnato nello stack. Il buffer overflow si verifica quando vengono elaborati espressioni nftables formattate in un certo modo, gestite durante il controllo degli indici forniti dall'utente, che ha accesso alle regole nftables.

    La vulnerabilità è causata dal fatto che gli sviluppatori presupponevano che il valore "enum nft_registers reg" fosse un byte, mentre con l'abilitazione di alcune ottimizzazioni il compilatore, secondo le specifiche C89, può utilizzarne un valore a 32 bit. A causa di questa particolarità, la dimensione utilizzata per il controllo e l'assegnazione della memoria non corrisponde alla dimensione effettiva dei dati nella struttura, portando a un sovrapposizione della coda della struttura con i puntatori nello stack.

    Il problema può essere sfruttato per eseguire codice a livello di kernel, ma per un attacco di successo è necessario avere accesso a nftables, accessibile in uno spazio di nomi di rete separato (network namespaces) con i diritti CLONE_NEWUSER o CLONE_NEWNET (ad esempio, se è possibile avviare un container isolato). La vulnerabilità è anche strettamente legata alle ottimizzazioni applicate dal compilatore, che vengono abilitate ad esempio quando si compila in modalità "CONFIG_CC_OPTIMIZE_FOR_PERFORMANCE=y". Lo sfruttamento della vulnerabilità è possibile a partire dal kernel Linux 5.12.

    La seconda vulnerabilità in netfilter è causata dall'accesso a una memoria già rilasciata (use-after-free) nel gestore nft_do_chain e può portare a una perdita di aree di memoria non inizializzate del kernel, che possono essere lette tramite manipolazioni delle espressioni nftables e utilizzate, ad esempio, per determinare gli indirizzi dei puntatori nello sviluppo di exploit per altre vulnerabilità. Sfruttare la vulnerabilità è possibile a partire dal kernel Linux 5.13.

    Le vulnerabilità sono state corrette negli aggiornamenti correttivi di oggi per i kernel 5.17.1, 5.16.18, 5.15.32, 5.10.109, 5.4.188, 4.19.237, 4.14.274 e 4.9.309. È possibile monitorare la pubblicazione degli aggiornamenti dei pacchetti nelle distribuzioni presso le seguenti pagine: Debian, SUSE, Ubuntu, RHEL, Fedora, Gentoo, Arch Linux. Il ricercatore che ha individuato i problemi ha dichiarato di aver preparato exploit funzionanti per entrambe le vulnerabilità, che si prevede saranno pubblicati tra qualche giorno, dopo che le distribuzioni rilasceranno aggiornamenti dei pacchetti con il kernel.

Fonte: opennet.ru

Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server 🔥 Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server | ProHoster