Van descobrir una vulnerabilitat en el subsistema eBPF de Linux

Fa poc es va donar a conèixer la notícia que va ser identificada una vulnerabilitat (CVE-2021-29154) al subsistema eBPF, que permite executar el seguiment, l'anàlisi de l'subsistema i els controladors de control de trànsit que s'executen dins el nucli de Linux en una màquina virtual JIT especial que permet a un usuari local executar el seu codi a nivell de nucli.

Segons els investigadors que van identificar la vulnerabilitat, van poder desenvolupar un prototip funcional d'un exploit per a sistemes x86 de 32 i 64 bits que pot ser utilitzat per un usuari sense privilegis.

Alhora, Red Hat assenyala que la gravetat de el problema depèn de la disponibilitat de la crida a sistema eBPF per a l'usuari. Per exemple, en RHEL i la majoria de les altres distribucions de Linux en la configuració per defecte, la vulnerabilitat es pot aprofitar quan BPF JIT està habilitat i l'usuari té drets CAP_SYS_ADMIN.

S'ha descobert un problema en el nucli de Linux de què poden abusar
usuaris locals sense privilegis per escalar privilegis.

El problema és com calculen els compiladors BPF JIT per algunes arquitectures
Desplaçaments de branca a l'generar codi de màquina. Això es pot abusar
per crear un codi de màquina anòmal i executar en la manera Kernel,
on el flux de control és segrestat per executar codi insegur.

I és que detallen que el problema es deu a un error que es genera a l'calcular el desplaçament de les instruccions de bifurcació durant el compilador JIT que genera el codi de màquina.

En particular s'esmenta que a l'generar les instruccions de bifurcació, no es té en compte que el desplaçament pot arribar a canviar després de passar per l'etapa d'optimització amb la qual cosa aquesta falla pot usar-se per a poder generar codi de màquina anòmal i executar a nivell de l'nucli.

Cal destacar que aquesta no és l'única vulnerabilitat en el subsistema eBPF que s'ha donat a conèixer en els últims anys, ja que a finals de març, es van identificar dues vulnerabilitats més en el nucli (CVE-2020-27170, CVE-2020-27171), Que brinden la capacitat d'usar eBPF per poder eludir la protecció contra vulnerabilitats de classe Spectre, que permeten determinar el contingut de la memòria de l'nucli i que dóna com a resultat de la creació de condicions per a l'execució especulativa de certes operacions.

L'atac Spectre requereix la presència d'una seqüència específica d'ordres en el codi privilegiat, el que porta a l'execució especulativa d'instruccions. En eBPF, s'han trobat diverses formes de generar aquestes instruccions mitjançant manipulacions amb programes BPF transmesos per la seva execució.

  • La vulnerabilitat CVE-2020-27170 és causada per manipulacions amb punters en el verificador BPF, que fan que les operacions especulatives accedeixin a una àrea fora de la memòria intermèdia.
  • La vulnerabilitat CVE-2020-27171 està relacionada amb un error de subdesbordamiento d'enters quan es treballa amb punters, el que condueix a un accés especulatiu a les dades fora de la memòria intermèdia.

Aquests problemes ja s'han solucionat en les versions de l'nucli 5.11.8, 5.10.25, 5.4.107, 4.19.182 i 4.14.227, i s'han inclòs en les actualitzacions de l'nucli per a la majoria de les distribucions de Linux. Els investigadors han preparat un prototip d'explotació que permet a un usuari sense privilegis recuperar dades de la memòria de l'nucli.

Pel que fa a una de les solucions que proposen dins de Xarxa Hat és:

Mitigació:

Aquest problema no afecta la majoria dels sistemes per defecte. Un administrador hauria d'haver habilitat el BPF JIT perquè es vegi afectat.

Es pot desactivar immediatament amb la comanda:

# echo 0 > /proc/sys/net/core/bpf_jit_enable

O es pot desactivar per a tots les arrencades posteriors de sistema establint un valor en /etc/sysctl.d/44-bpf -jit-disable

## start file ##
net.core.bpf_jit_enable=0</em>
end file ##

Finalment si estàs interessat en conèixer més a l'respecte sobre aquesta vulnerabilitat, pots consultar els detalls a el següent enllaç.

Cal esmentar que problema persisteix fins a la versió 5.11.12 (inclosos) i encara no s'ha solucionat en la majoria de les distribucions, tot i que la correcció ja està disponible com pegat.


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ó.