Sa runc toolkit para sa pagpadagan sa nahilit nga mga sudlanan nga gigamit sa Docker ug Kubernetes, usa ka vulnerability nga CVE-2024-21626 ang nakit-an, nga nagtugot sa pag-access sa file system sa host environment gikan sa usa ka hilit nga sudlanan. Atol sa usa ka pag-atake, ang usa ka tig-atake mahimong mag-overwrite sa pipila ka mga executable nga mga file sa host environment ug sa ingon makab-ot ang pagpatuman sa iyang code sa gawas sa sudlanan. Sa runtime crun ug youki, nga naggamit sa runc, ingon man sa LXC, ang problema dili makita. Ang pagkahuyang giayo sa runc 1.1.12.
Kung gigamit ang mga gamit sa Docker o Kubernetes, ang usa ka pag-atake mahimo pinaagi sa pag-andam sa usa ka espesyal nga gidisenyo nga imahe sa sulud, pagkahuman sa pag-install ug paglansad diin ang usa ka eksternal nga FS mahimong ma-access gikan sa sulud. Kung gigamit ang Docker, posible nga mag-operate pinaagi sa usa ka espesyal nga gidisenyo nga Dockerfile. Ang pagkahuyang mahimo usab nga mapahimuslan kung ang mga proseso gilansad sa usa ka sudlanan gamit ang "runc exec" nga mando pinaagi sa pagbugkos sa direktoryo nga nagtrabaho sa namespace sa host environment.
Ang pagkahuyang tungod sa pagtulo sa internal nga mga deskriptor sa file. Sa dili pa modagan ang code sulod sa sudlanan, sirado sa runc ang tanang deskriptor sa file gamit ang O_CLOEXEC nga bandera. Apan, ang sunod nga setcwd() executions nagbilin ug file descriptor nga bukas nga nagpunting sa working directory ug nagpabiling accessible human masugdan ang sudlanan. Daghang mga batakang senaryo alang sa pag-atake sa host environment gamit ang nahabilin nga file descriptor ang gisugyot.
Pananglitan, ang usa ka tig-atake mahimong magtakda ug process.cwd nga parametro sa container image nga nagpunting sa β/proc/self/fd/7/β, nga moresulta sa pagbugkos sa pagproseso sa pid1 sa working directory sa container, nga nahimutang sa host environment. mount space. Sa ingon, sa imahe sa sudlanan, mahimo nimong i-configure ang paglansad sa "/proc/self/fd/7/../../../bin/bash" ug, pinaagi sa pagpatuman sa usa ka script sa shell, i-overwrite ang mga sulud sa "/proc/self/exe", nga nagtumong sa kopya sa host sa /bin/bash.
Ang lain nga variant sa pag-atake nagtugot sa usa ka tig-atake nga gipugngan sulod sa usa ka sudlanan aron makakuha og access sa direktoryo sa host environment kung ang mga pribilihiyo nga mga proseso nagdagan sa gitakda nga sudlanan gamit ang runc exec command nga adunay kapilian nga --cwd. Ang usa ka tig-atake mahimong mopuli sa agianan sa gilunsad nga proseso sa usa ka simbolo nga link nga nagpunting sa "/ proc / self / fd / 7 /" ug makab-ot ang pag-abli sa "/ proc / $ exec_pid / cwd" aron ma-access ang FS sa host side. Mahimo usab nga makab-ot sa usa ka tig-atake ang pag-overwrit sa mga executable file sa kilid sa host environment pinaagi sa pag-organisar sa paglunsad sa executable file gikan sa host environment (β/proc/self/fd/7/../../../bin/ bash") ug dayon i-overwriting ang file nga "/proc/$pid/exe", nga nagtumong sa nagdagan nga file.
Dugang pa, lima pa nga mga kahuyangan ang nahibal-an sa mga sangkap sa Docker toolkit:
- Ang CVE-2024-23651 usa ka kondisyon sa lumba sa BuildKit nga pakete nga gigamit sa Docker aron mabag-o ang source code ngadto sa mga artifact. Ang kahuyang tungod sa paggamit sa usa ka komon nga mount point nga adunay cache (β-mount=type=cache,source=β) sa dungan nga gipatuman nga mga yugto sa pagtukod, nga nagtugot, sa pagproseso sa usa ka espesyal nga gidisenyo nga Dockerfile sa BuildKit, pag-access sa mga file sa host environment gikan sa build container. Ang pagkahuyang gitakda sa BuildKit 0.12.5.
- CVE-2024-23652 Usa ka sayup sa pagtangtang sa mga walay sulod nga mga file nga gihimo alang sa usa ka mount point kung gigamit ang "--mount" nga kapilian nagtugot sa pagtangtang sa usa ka file sa gawas sa sudlanan kung giproseso ang usa ka espesyal nga gihimo nga Dockerfile. Ang pagkahuyang gitakda sa BuildKit 0.12.5.
- CVE-2024-23653 Usa ka depekto sa pagpatuman sa API sa BuildKit nagtugot sa container execution nga mahitabo uban sa taas nga mga pribilehiyo, bisan unsa pa ang kahimtang sa security.insecure setting. Ang pagkahuyang gitakda sa BuildKit 0.12.5.
- CVE-2024-23650 Ang usa ka malisyoso nga kliyente sa BuildKit o frontend mahimong hinungdan sa pagkahagsa sa proseso sa BuildKit sa background. Ang pagkahuyang gitakda sa BuildKit 0.12.5.
- Ang CVE-2024-24557 usa ka posible nga pagkahilo sa cache sa Moby, usa ka sangkap alang sa pagtukod sa mga espesyal nga sistema sa pagbulag sa sudlanan. Pinaagi sa pagproseso sa usa ka espesyal nga gidisenyo nga imahen sa sudlanan, mahimo nimong i-cache ang datos nga magamit sa sunod nga mga lakang sa pagtukod. Ang pagkahuyang naayo sa Moby 25.0.2 ug 24.0.9.
Source: opennet.ru
