Van ser detectades dues vulnerabilitats al Kernel de Linux que permetien encara usuari elevar els seus privilegis 

vulnerabilitat

Si s'exploten, aquestes falles poden permetre als atacants obtenir accés no autoritzat a informació confidencial o, en general, causar problemes

Fa pocs dies es va donar a conèixer la notícia que van ser detectades dues vulnerabilitats a els subsistemes del nucli de Linux, Netfilter i io_uring, que permeten a un usuari local elevar els seus privilegis al sistema.

La primera és la vulnerabilitat (CVE-2023-32233) que va ser detectada al subsistema Netfilter i provocada per accés a memòria use-after-free al mòdul nf_tables, que assegura el funcionament del filtre de paquets nftables.

Aquesta fallada és perquè netfilter nf_tables permet actualitzar la seva configuració per sol·licituds lots que agrupen múltiples operacions bàsiques en transaccions atòmiques.

el problema s'ha reproduït en diverses versions del nucli de Linux, incloent Linux 6.3.1 (estable actual) i la vulnerabilitat es pot aprofitar enviant sol·licituds especialment dissenyades per actualitzar la configuració de nftables. S'esmenta que l'atac requereix accés a nftables, que es poden obtenir en un espai de noms de xarxa separat si teniu els drets CLONE_NEWUSER, CLONE_NEWNS o CLONE_NEWNET (per exemple, si podeu executar un contenidor aïllat).

Sobre aquesta sentència, l'investigador que va identificar el problema va prometre posposar per una setmana la publicació d'informació detallada i un exemple d'un exploit funcional que proporciona un shell root.

En un escenari específic, una sol·licitud de lot no vàlida pot contenir una operació que elimina implícitament un conjunt anònim nft existent seguit d'una altra operació que intenta actuar sobre el mateix conjunt nft anònim després que s'elimini. A l'escenari anterior, un exemple de l'operació anterior és eliminar una regla nft existent que utilitza un conjunt anònim nft. I un exemple d'aquesta darrera operació és un intent per eliminar un element d'aquest conjunt anònim de nft després que el conjunt sigui eliminat alternativament, la darrera operació podria fins i tot intentar eliminar explícitament aquest conjunt anònim de nft novament. 

Com ja es va esmentar a l'inici, això va ser ja fa uns quants dies i l'exploit i la informació ja va ser divulgada. L'exploit així com els detalls d'aquest el podeu consultar al següent enllaç.

La segona sentència detectada, va ser la vulnerabilitat (CVE-2023-2598) a la implementació de la interfície d'E/S asíncrona io_uring inclosa al nucli de Linux des de la versió 5.1.

El problema es deu a un error a la funció io_sqe_buffer_register, que permet l'accés a la memòria física fora dels límits d'un memòria intermèdia assignada estàticament. El problema apareix només a la branca 6.3 i se solucionarà en la propera actualització 6.3.2.

S'esmenta que la idea darrere de la confirmació original és que, en lloc de dividir grans pàgines que estan registrades com un memòria intermèdia en entrades bvec individuals, es pot tenir una sola entrada bvec per a totes les parts de la pàgina que estan al memòria intermèdia. En concret, si totes pàgines al mapa de memòria intermèdia utilitzen la primera estructura de pàgina i la longitud del memòria intermèdia en una sola entrada bvec en lloc de mapejar cada pàgina individualment.

Aleshores, bvec s'estendrà molt més enllà de la pàgina única que en realitat és permès tocar. Més tard, IORING_OP_READ_FIXED i IORING_OP_WRITE_FIXED ens permet llegir i escriure al memòria intermèdia (és a dir, la memòria apuntada pel bvec) a voluntat. Això permet l'accés de lectura/escriptura a la física memòria darrere de l'única pàgina que tenim realment.

A la publicació de la vulnerabilitat s'esmenten els passos de reproducció d'error:

1. Crear un memfd
2. Col·locar en error una sola pàgina en aquest descriptor de fitxer
3. Usar MAP_FIXED per mapejar aquesta pàgina repetidament, en ubicacions consecutives
4. Registrar tota la regió que acaba d'omplir amb aquesta pàgina com
un memòria intermèdia fixa amb IORING_REGISTER_BUFFERS
5. Usar IORING_OP_WRITE_FIXED per escriure el memòria intermèdia en algun altre fitxer
(lectura OOB) o IORING_OP_READ_FIXED per llegir dades al memòria intermèdia (
escriptura OOB).

Finalment cal esmentar que ja es troba disponible  un prototip d'exploit funcional (CVE-2023-2598) per fer proves, cosa que us permet executar codi amb privilegis de nucli.

la vulnerabilitat (CVE-2023-32233) es va solucionar en l'actualització 6.4-rc i es pot seguir la correcció de la vulnerabilitat en les distribucions a les pàgines: DebianUbuntuGentooRHELFedoraSUSE/openSUSEArc.


Deixa el teu comentari

La seva adreça de correu electrònic no es publicarà. Els camps obligatoris estan marcats amb *

*

*

  1. Responsable de les dades: AB Internet Networks 2008 SL
  2. Finalitat de les dades: Controlar l'SPAM, gestió de comentaris.
  3. Legitimació: El teu consentiment
  4. Comunicació de les dades: No es comunicaran les dades a tercers excepte per obligació legal.
  5. Emmagatzematge de les dades: Base de dades allotjada en Occentus Networks (UE)
  6. Drets: En qualsevol moment pots limitar, recuperar i esborrar la teva informació.