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 es detecta una falla en el maneig de l'expansió de la pila al nucli de Linux 6.1 fins a la versió 6.4 també conegut com a «Stack Rot».
S'esmenta que la traducció del VMA (Àrea de memòria virtual) de l'estructura de dades "red-black tree" a "maple tree" al nucli de Linux 6.1 va provocar l'aparició d'una vulnerabilitat ( CVE-2023-3269 ) que permet a un usuari sense privilegis aconseguir l'execució del codi amb drets de kernel.
Com StackRot és una vulnerabilitat del nucli de Linux que es troba en la gestió de memòria del subsistema, afecta gairebé totes les configuracions del kernel i requereix un mínim de capacitats per desencadenar. Tot i això, cal assenyalar que els nodes de maple s'alliberen usant devolucions de trucada de RCU, endarrerint la desasignació de memòria real fins després del periòde de gràcia de RCU. En conseqüència, l‟explotació d‟aquesta vulnerabilitat es considera desafiant.
Sobre Stack Rot
La vulnerabilitat, el nom en codi és StackRot, ha estat present des el llançament de l' nucli 6.1 i es va corregir en les actualitzacions 6.4.1, 6.3.11 i 6.1.37.
Sobre la vulnerabilitat s'esmenta que l'estructura de maple tree és una variant de l'arbre B que admet la indexació de rangs i està dissenyada per fer un ús eficient de la memòria cau dels processadors moderns.
En comparació amb el «red-black tree», l'ús del «maple tree» us permet aconseguir un major rendiment. La vulnerabilitat es deu a un error al controlador d'extensió de pila: a l'estructura de «maple tree» utilitzada per administrar àrees de memòria virtual al nucli, el reemplaçament d'un node a l'arbre podria passar sense establir un bloqueig d'escriptura, cosa que va crear condicions per accedir a l'àrea de memòria després d'alliberar-la ( use-after-free).
Cada vegada que s'utilitza la trucada al sistema `mmap()` per establir una assignació de memòria, el kernel genera una estructura anomenada `vm_area_struct` per representar el
àrea de memòria virtual (VMA) corresponent. Aquesta estructura emmagatzema diversos
informació que inclou banderes, propietats i altres detalls pertinents relacionats amb el mapeig.
Posteriorment, quan el kernel troba errors de pàgina o altres problemes relacionats amb la memòria o trucades al sistema, requereix una cerca ràpida del VMA basada únicament en l'adreça.
S'esmenta que anteriorment, els VMA es gestionaven mitjançant red-black tree. No obstant això, a partir de la versió 6.1 del kernel de Linux, es va dur a terme la migració als maple tree, els quals són estructures de dades d'arbre B segures per a RCU optimitzades per emmagatzemar rangs que no se superposen. Això no obstant, la seva naturalesa intrincada afegeix complexitat al codi base i introdueix la vulnerabilitat StackRot.
El problema sorgeix en accedir als VMA, ja que només es manté el bloqueig de lectura de MM
i no ingressa a la secció crítica de RCU. En conseqüència, en teoria, la devolució de trucada podria invocar-se en qualsevol moment, cosa que donaria com a resultat l'alliberament de l'antic node.
Per la part de l'explotació de Stack Rot, s'esmenta que aquesta es va complicar pel fet que els nodes a l'estructura del maple tree s'alliberen en una manera endarrerit mitjançant trucades de devolució de trucada amb bloquejos RCU (Read-copy -update).
No obstant això, els investigadors van aconseguir superar les dificultats i preparar un exploit funcional de Stack Rot que planegen publicar a finals de juliol per donar temps als usuaris dactualitzar els seus sistemes. L'operació és possible en gairebé totes les configuracions del nucli i només requereix privilegis mínims.
Cal esmentar que com tota notícia de vulnerabilitats, aquestes serveixen com una divulgació “primera” de la vulnerabilitat, en aquest cas de StackRot. Com a tal, tot porta un procés i abans de ser anunciada ja s'han enviat les notificacions pertinents perquè sigui solucionada la vulnerabilitat.
Finalment, s'esmenta que s'han proporcionat tots els detalls essencials de la vulnerabilitat, el codi d'explotació complet i un informe complet es posaran a disposició del públic com a molt tard a finals de juliol.
si estàs interessat a poder conèixer més sobre això, Pots consultar els detalls a el següent enllaç.