Zehfbûna di Docker de ku dihêle hûn ji konteynerê birevin

Di Toolkit de ji bo Birêvebirina Konteynirên Docker ên Linux ên Veqetandî nas kirin lawazbûn (CVE-2018-15664), ya ku, di bin hin şert û mercan de, dihêle hûn ji konteynerek xwe bigihînin hawîrdora mêvandar heke we hebe ku hûn wêneyên xwe li ser pergalê an bi gihîştina konteynerek xebitandinê bidin destpêkirin. Pirsgirêk di hemî guhertoyên Docker de xuya dike û neçar dimîne (pêşniyaz kirin, lê hîn nehatiye pejirandin, pîvaz, ku dema ku bi FS-ê re operasyonan dike sekinandina konteynerê pêk tîne).

Qelsî dihêle ku dema ku emrê "docker cp" bi cih bînin, pelan ji konteynerek berbi beşek kêfî ya pergala pelê ya pergala mêvandar ve werin derxistin. Derxistina pelan bi mafên root ve tête kirin, ku ev yek dihêle ku meriv pelan di hawîrdora mêvandar de bixwîne an binivîse, ku têra xwe kontrolkirina pergala mêvandar dike (mînak, hûn dikarin binivîsin /etc/shadow).

Dema ku rêveber fermana "docker cp" ji bo kopîkirina pelan li konteynerê an ji konteynerê bigire, êrîş tenê dikare were kirin. Bi vî rengî, êrîşkar pêdivî ye ku bi rengekî rêvebirê Docker-ê bi hewcedariya pêkanîna vê operasyonê razî bike û rêça ku dema kopîkirinê tê bikar anîn pêşbîn bike. Ji hêla din ve, êrîşek dikare were kirin, mînakî, dema ku karûbarên cloudê amûrên ji bo kopîkirina pelên mîhengê li konteynerek peyda dikin, ku bi karanîna fermana "docker cp" hatî çêkirin.

Pirsgirêk ji ber xeletiyek di sepana fonksiyonê de çêdibe FollowSymlinkInScope, ku di pergala pelan a sereke de rêça bêkêmasî li ser bingeha rêça têkildar dihesibîne, bi cîhkirina konteynerê re hesab dike. Dema ku emrê "docker cp" dimeşîne, demek kurt rewşa nijadê, ku rê ji niha ve hatiye verastkirin, lê hê operasyon nehatiye kirin. Ji ber ku kopîkirin di çarçoveya pergala pelê ya sereke ya pergala mêvandar de tête kirin, di nav demek diyarkirî de, hûn dikarin rêgezek din biguhezînin û kopîkirina daneyan li cîhek keyfî di pergala pelan de li derveyî têrr.

Ji ber ku pencereya demê ji bo ku rewşek pêşbaziyê çêbibe di amadekirî de pir sînordar e prototîpa îstîsmarê Dema ku operasyonên kopîkirinê ji konteynerek têne kirin, dema ku bi awayekî dorhêlî di rêça ku di operasyona kopîkirinê de hatî bikar anîn de girêdanek sembolîk biguhezîne, di kêmtirî 1% ji bûyeran de êrîşek serketî bigihîje (êrîşa serketî piştî hema hema 10 çirke hewildan pêk hat. ku bi fermana "docker cp" bi domdarî pelê di lûkê de kopî bikin).

Bi pêkanîna operasyonek kopîkirinê li konteynerek, hûn dikarin tenê di çend dubareyan de êrişek sernivîsandina pelê ya dubarekirî li ser pergala mêvandar bi dest bixin. Îhtîmala êrîşê ji ber wê yekê ye ku dema kopîkirina nav konteynirekê, têgeha "chrootarchive" tê bikar anîn, li gorî vê yekê pêvajoya archive.go arşîvê ne di chroot root konteynerê de, lê di nav chrootê de derdixe. pelrêça dêûbavê rêça armancê, ku ji hêla êrîşker ve tê kontrol kirin, û pêkanîna konteynerê rawestîne (chroot wekî nîşanek ji bo îstismarkirina şertek nijadê tê bikar anîn).

Source: opennet.ru

Add a comment