Serbestberdana Bubblewrap 0.6, qatek ji bo afirandina derdorên veqetandî

Serbestberdanek amûrên ji bo birêxistinkirina xebata hawîrdorên veqetandî Bubblewrap 0.6 heye, bi gelemperî ji bo sînordarkirina serîlêdanên kesane yên bikarhênerên bêdestûr tê bikar anîn. Di pratîkê de, Bubblewrap ji hêla projeya Flatpak ve wekî qatek tê bikar anîn da ku serîlêdanên ku ji pakêtan hatine destpêkirin veqetînin. Koda projeyê bi C-yê hatî nivîsandin û di bin lîsansa LGPLv2+ de tê belav kirin.

Ji bo veqetandinê, teknolojiyên virtualîzasyona konteynerê Linux-ê yên kevneşopî têne bikar anîn, li ser bingeha karanîna cgroup, navan, Seccomp û SELinux. Ji bo pêkanîna operasyonên îmtiyazê ji bo mîhengkirina konteynerek, Bubblewrap bi mafên root (pelek îcrakar a bi ala suid) ve tê destpêkirin û dûv re piştî ku konteynir dest pê kir îmtiyazan vedigire.

Çalakkirina cîhên navên bikarhêner ên di pergala cîhê navan de, ku destûrê dide te ku hûn komek nasnameyên xwe yên cihêreng di konteyneran de bikar bînin, ji bo xebitandinê ne hewce ye, ji ber ku ew di gelek belavokan de bi xweber naxebite (Bubblewrap wekî pêkanîna xwerû ya sînorkirî ya binkoma kapasîteyên cîhên navên bikarhêner - ji bo derxistina hemî nasnameyên bikarhêner û pêvajoyê ji hawîrdorê, ji bilî ya heyî, modên CLONE_NEWUSER û CLONE_NEWPID têne bikar anîn). Ji bo parastina zêde, bernameyên ku di binê Bubblewrap de têne darve kirin di moda PR_SET_NO_NEW_PRIVS de têne destpêkirin, ku girtina îmtiyazên nû qedexe dike, mînakî, heke ala setuid hebe.

Veqetandin di asta pergala pelan de bi afirandina cîhek navek nû ya çiyê ji hêla xwerû ve, ku tê de dabeşek root ya vala bi tmpfs tê afirandin, pêk tê. Ger hewce be, dabeşên FS yên derveyî di moda "mount -bind" de bi vê dabeşkirinê ve têne girêdan (mînak, dema ku bi vebijarka "bwrap —ro-bind /usr /usr" tê destpêkirin, dabeşkirina /usr ji pergala sereke tê şandin. di moda tenê xwendinê de). Kapasîteyên torê ji bo gihîştina navbeynkariya loopback ya bi veqetandina stoka torê ve bi alayên CLONE_NEWNET û CLONE_NEWUTS ve sînorkirî ne.

Cûdahiya sereke ji projeya Firejail-ê ya wekhev, ku di heman demê de modela destpêkirina setuid-ê jî bikar tîne, ev e ku di Bubblewrap de qata çêkirina konteynerê tenê kêmasiyên pêwîst, û hemî fonksiyonên pêşkeftî yên ku ji bo xebitandina sepanên grafîkî, danûstendina bi sermaseyê û daxwazên fîlterkirinê re hewce ne dihewîne. ji Pulseaudio re, veguheztin aliyê Flatpak û piştî ku îmtiyaz ji nû ve hatin vegerandin, hate darve kirin. Firejail, ji hêla din ve, hemî fonksiyonên têkildar di yek pelê darvekirinê de tevlihev dike, ku kontrolkirin û parastina ewlehiyê di asta rast de dijwar dike.

Di weşana nû de:

  • Добавлена поддержка сборочной системы Meson. Поддержка сборки при помощи Autotools пока сохранена, но будет удалена в одном из следующих выпусков.
  • Реализована опция «—add-seccomp» для добавления более чем одной программы seccomp. Добавлено предупреждение о том, что при повторном указании опции «—seccomp» будет применён только последний параметр.
  • Ветка master в git-репозитории переименована в main.
  • Добавлена частичная поддержка спецификации REUSE, унифицирующей процесс указания сведений о лицензиях и авторских правах. Во многие файлы с кодом добавлены заголовки SPDX-License-Identifier. Следование рекомендациям REUSE позволяет упростить автоматическое определение какая лицензия применяется к каким из частей кода приложения.
  • Добавлена проверка значения счётчика аргументов командной строки (argc) и реализован экстренный выход в случае если счётчик равен нулю. Изменение позволяет блокировать проблемы с безопасностью, вызванные некорректной обработкой передаваемых аргументов командной строки, такие как CVE-2021-4034 в Polkit.

Source: opennet.ru

Add a comment