Firejail-en ahultasuna sistemara root sarbidea ahalbidetzen duena

Ahultasun bat (CVE-2022-31214) identifikatu da Firejail aplikazioa isolatzeko erabilgarritasunean, tokiko erabiltzaile bati sistema ostalarian erro pribilegioak lortzeko aukera ematen diona. Domeinu publikoan erabilgarri dagoen ustiapen bat dago, openSUSE, Debian, Arch, Gentoo eta Fedora uneko bertsioetan probatua firejail utilitatea instalatuta. Firejail 0.9.70 bertsioan konpondu da arazoa. Babeserako konponbide gisa, "join no" eta "force-nonewprivs yes" parametroak ezar ditzakezu ezarpenetan (/etc/firejail/firejail.config).

Firejail-ek izen-espazioak, AppArmor eta sistema-deien iragazkia (seccomp-bpf) erabiltzen ditu Linuxen isolatzeko, baina pribilegio altuak behar ditu exekuzio isolatua konfiguratzeko, erabilgarritasun-marka suid root-era lotuz edo sudo-rekin exekutatzen direlako lortzen dituena. Ahultasuna "--join=" aukeraren logikaren errore batek eragiten du. ", dagoeneko martxan dagoen ingurune isolatu batera konektatzeko pentsatua (sandbox ingurune baterako saioa hasteko komandoaren analogoa) bertan exekutatzen ari den prozesu-identifikatzaileak ingurunearen definizioarekin. Pribilegioak berrezartzeko aurreko fasean, firejail-ek zehaztutako prozesuaren pribilegioak zehazten ditu eta ingurunera konektatuta dagoen prozesu berrian aplikatzen ditu "-join" aukera erabiliz.

Konektatu aurretik, zehaztutako prozesua firejail ingurunean exekutatzen ari den egiaztatzen du. Egiaztapen honek /run/firejail/mnt/join fitxategiaren presentzia ebaluatzen du. Ahultasuna ustiatzeko, erasotzaileak fikziozko eta isolatu gabeko firejail ingurune bat simula dezake muntatzeko izen-espazioa erabiliz, eta, gero, harekin konektatu "--join" aukera erabiliz. Ezarpenek ez badute gaitzen prozesu berrietan pribilegio gehigarriak eskuratzea debekatzeko modua (prctl NO_NEW_PRIVS), firejail-ek erabiltzailea ingurune simulazio batera konektatuko du eta hasierako prozesuaren erabiltzailearen izen-eremuaren ezarpenak aplikatzen saiatuko da (PID 1).

Ondorioz, "firejail -join" bidez konektatutako prozesua erabiltzailearen jatorrizko erabiltzailearen IDaren izen-eremuan amaituko da pribilegiorik aldatu gabe, baina beste muntatze-puntu-espazio batean, erasotzaileak guztiz kontrolatuta. Erasotzaile batek setuid-root programak ere exekutatu ditzake berak sortutako muntatze-puntuaren espazioan, eta horri esker, adibidez, /etc/sudoers ezarpenak edo PAM parametroak alda ditzake bere fitxategi-hierarkian eta sudo edo sudo erabiliz erro-eskubideak dituzten komandoak exekutatu ahal izango ditu. su utilitateak.

Iturria: opennet.ru

Gehitu iruzkin berria