Rashin lahani na PolKit ya ba da damar samun tushen tushen akan yawancin rarrabawar Linux

Kwanan nan Kayan aiki ya fitar da labarin cewa ya gano wani rauni (CVE-2021-4034) en bangaren tsarin polkit (tsohon PolicyKit), wanda ake amfani da shi a cikin rarrabawa don ƙyale masu amfani marasa gata suyi ayyukan da ke buƙatar haƙƙin samun dama.

Ularfafawa yana bawa mai amfani na gida mara gata don ɗaukaka gatansu ga tushen mai amfani kuma samun cikakken iko akan tsarin. An yi wa batun suna PwnKit kuma sananne ne don samar da amfani mai aiki wanda ke gudana a cikin saitunan tsoho akan yawancin rarrabawar Linux.

An ambata cewa matsalar tana cikin kayan aikin pkexec wanda aka haɗa tare da PolKit, wanda ya zo tare da Tushen Tushen SUID kuma an tsara shi don gudanar da umarni tare da gata na sauran masu amfani bisa ga dokokin PolKit.

Saboda rashin sarrafa gardama daga layin umarni da aka wuce zuwa pkexec, a mai amfani mara gata zai iya ƙetare ingantaccen aiki kuma ya sa lambar ku ta gudana azaman tushen, ba tare da la'akari da ka'idojin shiga da aka kafa ba. Don hari, komai saituna da hane-hane da aka saita a cikin PolKit, ya isa cewa tushen tushen SUID don fayil ɗin aiwatarwa an saita shi tare da kayan aikin pkexec.

Pkexec baya duba daidaito na ƙidayar muhawarar layin umarni (argc) da aka wuce lokacin fara tsari. Masu haɓaka pkexec sun ɗauka cewa shigarwar farko a cikin tsararrun argv koyaushe tana ɗauke da sunan tsarin (pkexec), kuma shigarwa ta biyu ko dai NULL ko sunan umarnin da aka aiwatar ta hanyar pkexec.

Tun da ba a kwatanta ƙididdigar gardama da ainihin abubuwan da ke cikin tsararru ba kuma ana tsammanin koyaushe ya fi 1, idan an ƙaddamar da tsararrun argv mara komai zuwa tsarin, wanda aikin aiwatar da Linux ya ba da izini, pkexec ya bi NULL a matsayin hujja ta farko (tsari). suna), da kuma na gaba bayan fita daga ƙwaƙwalwar ajiya, azaman abun ciki na gaba.

Matsalar ita ce bayan argv array a ƙwaƙwalwar ajiya shine tsarin envp wanda ya ƙunshi masu canjin yanayi. Don haka, tare da komai na argv array, pkexec yana fitar da bayanai game da umarnin da ake aiwatarwa tare da manyan gata daga kashi na farko na tsararru tare da masu canjin yanayi (argv[1] ya zama kama da envp[0]), wanda abun ciki na iya sarrafa shi ta hanyar maharin.

Bayan karɓar darajar argv [1], pkexec yayi ƙoƙarin ƙayyade cikakken hanyar zuwa fayil ɗin da za a iya aiwatarwa ta amfani da hanyoyin fayil a cikin PATH kuma ya rubuta mai nuni zuwa kirtani tare da cikakkiyar hanyar komawa argv[1], wanda ke haifar da sake rubuta ƙimar. na farkon mahalli kuma, tunda argv[1] yayi kama da envp[0]. Ta hanyar sarrafa sunan madaidaicin mahalli na farko, maharin na iya musanya wani canjin yanayi a pkexec, alal misali, musanya canjin yanayi "LD_PRELOAD", wanda ba a yarda da shi a cikin shirye-shiryen suid ba, kuma tsarin ya loda ɗakin ɗakin karatu da aka raba a cikin tsari. .

Amfanin aiki yana amfani da GCONV_PATH canji mai ma'ana, wanda ake amfani da shi don tantance hanyar zuwa ɗakin karatu na transcoding alama wanda ake lodawa da ƙarfi lokacin da ake kiran aikin g_printerr(), wanda ke amfani da iconv_open() a lambar sa.

Ta hanyar sake fasalin hanyar a cikin GCONV_PATH, maharin na iya sarrafa ba da ɗakin karatu na iconv na al'ada ba, amma ɗakin karatu na kansa, wanda za a kashe direbobin sa yayin saƙon kuskure a matakin da pkexec har yanzu yana gudana azaman tushen kuma kafin tabbatar da izinin farawa.

An lura cewa, ko da yake matsalar ta kasance saboda lalacewar ƙwaƙwalwar ajiya, ana iya dogara da ita kuma ana amfani da ita akai-akai, ko da kuwa kayan aikin gine-ginen da aka yi amfani da su.

Amfani ya shirya anyi nasarar gwadawa akan Ubuntu, Debian, Fedora da CentOS, amma kuma za'a iya amfani dashi akan sauran rabawa. Asalin amfani na asali bai riga ya samuwa a bainar jama'a ba, yana nuna cewa ba shi da mahimmanci kuma wasu masu bincike za su iya ƙirƙira su cikin sauƙi, don haka yana da mahimmanci a shigar da sabunta hotfix da wuri-wuri akan tsarin masu amfani da yawa.

Hakanan ana samun Polkit don tsarin BSD da Solaris, amma ba a bincika don amfani ba. Abin da aka sani shi ne cewa ba za a iya aiwatar da harin akan OpenBSD ba, tun da OpenBSD kernel baya ƙyale wuce ƙimar argc mara kyau lokacin kiran execve().

Matsalar ta kasance tun watan Mayu 2009 lokacin da aka ƙara umarnin pkexec. Gyara don rauni a cikin PolKit har yanzu yana samuwa azaman faci (ba a samar da sigar gyara ba), amma tunda an sanar da masu haɓaka rarraba matsalar a gaba, yawancin rarrabawa sun fitar da sabuntawa a lokaci guda. na bayanin rauni.

Finalmente idan kuna sha'awar ƙarin sani game da shi, zaka iya bincika bayanan a mahada mai zuwa.


Bar tsokaci

Your email address ba za a buga. Bukata filayen suna alama da *

*

*

  1. Wanda ke da alhakin bayanan: Miguel Ángel Gatón
  2. Manufar bayanan: Sarrafa SPAM, sarrafa sharhi.
  3. Halacci: Yarda da yarda
  4. Sadarwar bayanan: Ba za a sanar da wasu bayanan ga wasu kamfanoni ba sai ta hanyar wajibcin doka.
  5. Ajiye bayanai: Bayanin yanar gizo wanda Occentus Networks (EU) suka dauki nauyi
  6. Hakkoki: A kowane lokaci zaka iyakance, dawo da share bayanan ka.