په سنیپ پیکج مدیریت تولکیټ کې د روټ زیانمنتیا

Qualys سږکال دریم خطرناک زیان په ګوته کړی (CVE-2022-3328) په سنیپ کنفینټ یوټیلیټ کې، کوم چې د SUID روټ بیرغ سره راځي او د snapd پروسې لخوا ویل کیږي ترڅو د غوښتنلیکونو لپاره د اجرا وړ چاپیریال رامینځته کړي چې په ځان پورې تړلي کڅوړو کې توزیع شوي. په snap بڼه. زیان منونکي ځایی بې ګټې کارونکي ته اجازه ورکوي چې د ډیفالټ اوبنټو ترتیب کې د ریښې په توګه د کوډ اجرا ترلاسه کړي. مسله په سنیپ 2.57.6 ریلیز کې حل شوې. د اوبنټو ټولو ملاتړ شوي څانګو لپاره د بسته تازه معلومات خپاره شوي.

په زړه پورې خبره دا ده چې د پوښتنې لاندې زیان منونکي په سنیپ کنفین کې د فبروري په میاشت کې ورته ورته زیان مننې د پروسې په جریان کې معرفي شوي. څیړونکي وتوانیدل چې یو کاري استحصال چمتو کړي چې د اوبنټو سرور 22.04 ته روټ لاسرسی چمتو کوي ، کوم چې د سنیپ - محدودیت کې د زیان مننې سربیره ، د ملټي پاډ پروسې کې دوه زیانونه هم پکې شامل دي (CVE-2022-41974, CVE-2022-41973) د سمبولیک لینکونو سره د امتیازاتو کمانډونو او غیر خوندي کار لیږد پرمهال د واک چیک څخه تیرولو سره تړاو لري.

په snap-confine کې زیانمنتیا په must_mkdir_and_open_with_perms() فنکشن کې د ریس حالت له امله رامینځته کیږي، د /tmp/snap د بدیل په وړاندې د ساتنې لپاره اضافه شوي. $SNAP_NAME ډایرکټر د مالک له کتلو وروسته د سمبولیک لینک سره، مګر مخکې له دې چې ماونټ سیسټم ته زنګ ووهي. په سنیپ فارمیټ کې د بسته بندۍ لپاره په دې کې د بانډ ماونټ لارښودونو ته زنګ ووهئ. اضافه محافظت دا و چې /tmp/snap.$SNAP_NAME ډایرکټر په تصادفي نوم سره په /tmp کې بل ډایرکټر ته بدل کړي که چیرې شتون ولري او د روټ ملکیت نه وي.

کله چې د /tmp/snap.$SNAP_NAME ډایرکټر د نوم بدلولو عملیاتو څخه ګټه پورته کړه، څیړونکو د دې حقیقت څخه ګټه پورته کړه چې snap-confine د سنیپ کڅوړې مینځپانګې ریښې لپاره /tmp/snap.rootfs_XXXXXX ډایرکټر هم رامینځته کوي. د نوم "XXXXXX" برخه په تصادفي ډول د mkdtemp() لخوا غوره شوې ، مګر د "rootfs_XXXXXX" په نوم یوه بسته په sc_instance_name_validate فنکشن کې تایید کیدی شي (د مثال په توګه دا نظر دی چې $SNAP_NAME به په "rootfs_XXX" کې تنظیم شي او بیا د نوم بدلولو عملیات په پایله کې به د /tmp/snap.rootfs_XXXXXX ډایرکټر د روټ سنیپ سره بیا لیکل شي).

د دې لپاره چې د /tmp/snap.rootfs_XXXXXX په یو وخت کې کار واخیستل شي او د /tmp/snap.$SNAP_NAME نوم بدل کړي، د سنیپ کنفینیشن دوه مثالونه پیل شوي. یوځل چې لومړی مثال /tmp/snap.rootfs_XXXXXX جوړ شي، پروسه به بنده شي او دویمه بیلګه به د بستې نوم rootfs_XXXXXX سره پیل شي، چې د دویم مثال لنډمهاله ډایرکټر /tmp/snap.$SNAP_NAME د روټ لارښود /tmp/snap شي. .rootfs_XXXXXX لومړی. سمدلاسه وروسته له دې چې د نوم بدلولو بشپړ شو، دویمه بیلګه خرابه شوه، او /tmp/snap.rootfs_XXXXXX د ریس حالت د مینځلو سره بدل شو، لکه څنګه چې د فبروري زیان څخه ګټه پورته کول. د بدیل وروسته، د اعدام قفل د لومړي مثال څخه لیرې شو او برید کونکو د سنیپ روټ لارښود بشپړ کنټرول ترلاسه کړ.

وروستی ګام د symlink /tmp/snap.rootfs_XXXXXX/tmp رامینځته کول و، کوم چې د sc_bootstrap_mount_namespace() فنکشن لخوا کارول شوی و ترڅو د لیکلو وړ ریښتیني ډایرکټر /tmp د فایل سیسټم کې هرې ډایرکټر ته وتړل شي، ځکه چې د mount() زنګ وو. د نصبولو دمخه سم لینکونه تعقیبوي. دا ډول نصب کول د AppArmor محدودیتونو لخوا بند شوي ، مګر د دې بلاک څخه د تیریدو لپاره ، استحصال په ملټي پاډ کې دوه مرستندویه زیانونه کارولي.

سرچینه: opennet.ru

Add a comment