Una vulnerabilitat en el protocol de xarxa CAN BCM permetia l'escalada de privilegis en el nucli de linux 

El dia d'ahir es va donar a conèixer informació sobre una vulnerabilitat en el nucli de Linux i la qual ja està catalogada com CVE-2021-3609. aquesta vulnerabilitat permet a un usuari local elevar els seus privilegis en el sistema a causa d'una condició de carrera en la implementació de l'protocol CAN BCM i es manifesta en les versions 2.6.25 a 5.13-RC6 de el nucli de Linux.

La decisió s'aprofita pel fet que el protocol CAN BCM permet registrar el seu propi gestor de missatges de la xarxa d'àrea d'el controlador (CAN) i connectar-lo a una presa de xarxa específica. Quan arriba un missatge entrant, es crida a la funció bcm_rx_handler () un atacant pot aprofitar una condició de carrera i forçar el tancament de l'socket de xarxa a el mateix temps que executa bcm_rx_handler ().

El problema ve quan es tanca el socket i es crida a la funció bcm_release (), en la qual s'allibera la memòria assignada per a les estructures bcm_op i bcm_sock, que continuen usant-se en el gestor bcm_rx_handler () que encara s'està executant, d'aquesta manera sorgeix una situació que condueix a l'accés a un bloc de memòria ja alliberat (use-after-free).

Aquest és un anunci de l'error recentment informat (CVE-2021-3609) en el protocol de xarxa CAN BCM en el nucli de Linux que van des versió 2.6.25 a Mainline 5.13-RC6.
La vulnerabilitat és una condició de carrera en net / can / bcm.c que permet escalada de privilegis a root. El problema va ser informat inicialment per syzbot i Norbert Slusarek va demostrar ser explotable.

L'atac es redueix a obrir dues sockets CAN BCM i vincular-los a la interfície VCAN. En el primer connector, es diu a sendmsg () amb l'indicador RX_SETUP per configurar el controlador per als missatges CAN entrants i en el segon connector, es diu a sendmsg () per enviar un missatge a el primer connector.

Després que arriba el missatge, s'activa l'anomenada bcm_rx_handler () i l'atacant pren el moment adequat i tanca el primer sòcol, el que condueix a el llançament de bcm_release () i a el llançament de les estructures bcm_op i bcm_sock, Tot i que el treball de bcm_rx_handler () encara no s'ha completat.

A l'manipular el contingut d'bcm_sock, un atacant pot anul·lar un punter a la funció sk-> sk_data_ready (sk), redirigir l'execució i, utilitzant tècniques de programació orientada a la tornada (ROP), sobreescriure el paràmetre modprobe_path i fer que el seu codi es executi com a root.

Quan s'utilitza la tècnica ROP, l'atacant no intenta col·locar el seu codi en la memòria, sinó que opera sobre les peces de les instruccions de la màquina que ja estan disponibles a les biblioteques carregades, acabant amb una instrucció de retorn de control (com a regla, aquests són el final de la biblioteca funcions).

Els permisos necessaris per dur a terme un atac poden ser adquirits per un usuari sense privilegis en contenidors creats en sistemes amb espais de nom d'usuari habilitats. Per exemple, els espais de noms d'usuari s'inclouen per defecte en Ubuntu i Fedora, però no s'activen en Debian i RHEL.

El meu intent d'explotació es concentra en nuclis amb versió> = 5.4-rc1 des de la confirmació bf74aa86e111. No vaig investigar sobre l'explotació de nuclis més antics que 5.4-rc1 que usava tasklets, però l'explotació en nuclis més antics també sembla factible. 

S'esmenta que l'investigador que va identificar la vulnerabilitat va poder preparar un exploit per obtenir drets de root en sistemes amb nuclis des de la versió 5.4 i posteriors, inclosa la possibilitat d'un atac reeixit en Ubuntu 20.04.02 LTS.

El treball de l'exploit es redueix a construir una cadena de trucades a blocs similars ( «gadgets») per obtenir la funcionalitat requerida. L'atac requereix accés per a crear sockets CAN i una interfície de xarxa VCAN configurada.

Finalment s'esmenta que el problema encara persisteix en la majoria de les distribucions, però és qüestió de dies perquè els pegats corresponents estiguin sent alliberats.

Si estàs interessat en poder conèixer més a l'respecte, Pots consultar el següent enllaç.


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