به روز رسانی Git با 8 آسیب پذیری رفع شد

منتشر شده نسخه های اصلاحی سیستم کنترل منبع توزیع شده Git 2.24.1، 2.23.1، 2.22.2، 2.21.1، 2.20.2، 2.19.3، 2.18.2، 2.17.3، 2.16.6، 2.15.4 و 2.14.62.24.1. XNUMX، که آسیب‌پذیری‌هایی را که به مهاجم اجازه می‌داد مسیرهای دلخواه را در سیستم فایل بازنویسی کند، اجرای کد از راه دور را سازماندهی کند، یا فایل‌ها را در فهرست «.git/» بازنویسی کند، برطرف کرد. اکثر مشکلات توسط کارکنان شناسایی شده است
مرکز پاسخگویی امنیتی مایکروسافت، پنج آسیب‌پذیری از هشت آسیب‌پذیری مختص پلتفرم ویندوز است.

  • CVE-2019-1348 - دستور پخش جریانی "feature export-marks=path"اجازه می دهد تا برچسب‌ها را در دایرکتوری‌های دلخواه بنویسید، که می‌توان از آنها برای بازنویسی مسیرهای دلخواه در سیستم فایل هنگام اجرای عملیات "وارد کردن سریع git" با داده‌های ورودی بدون علامت استفاده کرد.
  • CVE-2019-1350 - فرار نادرست از آرگومان های خط فرمان می تواند منجر شود برای اجرای از راه دور کد مهاجم در طول شبیه سازی بازگشتی با استفاده از URL ssh://. به‌ویژه، فرار از آرگومان‌هایی که به بک اسلش ختم می‌شوند (مثلاً «تست \») به‌درستی مدیریت می‌شد. در این حالت، هنگام قاب بندی یک آرگومان با نقل قول های دوگانه، آخرین نقل قول فرار می شود، که امکان سازماندهی جایگزینی گزینه های خود را در خط فرمان فراهم می کند.
  • CVE-2019-1349 - هنگام شبیه سازی بازگشتی زیر ماژول ها ("کلون - recurse-submodules") در محیط ویندوز تحت شرایط خاص میتوانست باشد استفاده از یک دایرکتوری git را دو بار راه اندازی کنید (git.، git~1، git~2 و git~N به عنوان یک دایرکتوری در NTFS شناسایی می شوند، اما این وضعیت فقط برای git~1 آزمایش شد)، که می تواند برای سازماندهی استفاده شود. نوشتن در دایرکتوری ". git". برای سازماندهی اجرای کد خود، برای مثال، یک مهاجم می تواند اسکریپت خود را از طریق کنترل کننده پس از پرداخت در فایل .git/config جایگزین کند.
  • CVE-2019-1351 - کنترل کننده نام درایوهای حروف در مسیرهای ویندوز هنگام ترجمه مسیرهایی مانند "C:\" فقط برای جایگزینی شناسه های لاتین تک حرفی طراحی شده بود، اما امکان ایجاد درایوهای مجازی اختصاص داده شده از طریق "subst letter:path" را در نظر نگرفت. . چنین مسیرهایی نه به عنوان مسیرهای مطلق، بلکه به عنوان مسیرهای نسبی در نظر گرفته می شدند، که این امکان را فراهم می کرد که هنگام شبیه سازی یک مخزن مخرب، یک رکورد در یک فهرست دلخواه خارج از درخت دایرکتوری کار سازماندهی شود (به عنوان مثال، هنگام استفاده از اعداد یا کاراکترهای یونیکد در دیسک). نام - "1:\what\the\ hex.txt" یا "ä:\tschibät.sch").
  • CVE-2019-1352 - هنگام کار بر روی پلتفرم ویندوز، استفاده از جریان های داده جایگزین در NTFS، که با افزودن ویژگی ":stream-name:stream-type" به نام فایل ایجاد می شود. مجاز هنگام شبیه سازی یک مخزن مخرب، فایل ها را در دایرکتوری ".git/" بازنویسی کنید. به عنوان مثال، نام ".git::$INDEX_ALLOCATION" در NTFS به عنوان یک پیوند معتبر به دایرکتوری ".git" در نظر گرفته شد.
  • CVE-2019-1353 - هنگام استفاده از Git در یک محیط WSL (Windows Subsystem for Linux) هنگام دسترسی به فهرست کار استفاده نشده محافظت در برابر دستکاری نام در NTFS (حمله از طریق ترجمه نام FAT امکان پذیر بود، به عنوان مثال، ".git" را می توان از طریق دایرکتوری "git~1" دسترسی داشت).
  • CVE-2019-1354 -
    فرصت هنگام شبیه‌سازی مخازن مخرب حاوی فایل‌هایی با نام بک اسلش (مثلاً «a\b»)، که در یونیکس/لینوکس قابل قبول است، در پلتفرم ویندوز در فهرست «git/» می‌نویسد، اما به عنوان بخشی از آن پذیرفته می‌شود. مسیر در ویندوز

  • CVE-2019-1387 - بررسی ناکافی نام زیر ماژول ها می تواند برای سازماندهی حملات هدفمند استفاده شود، که اگر به صورت بازگشتی شبیه سازی شوند، به طور بالقوه می توانند می تواند منجر شود برای اجرای کد مهاجم Git از ایجاد دایرکتوری زیر ماژول در دایرکتوری زیرماژول دیگری که در بیشتر موارد تنها منجر به سردرگمی می شود جلوگیری نکرد، اما به طور بالقوه از بازنویسی محتویات ماژول دیگر در طول فرآیند شبیه سازی بازگشتی (به عنوان مثال، دایرکتوری های زیر ماژول ها) جلوگیری نکرد. «Hippo» و «Hippo/hooks» به‌عنوان «.git/modules/hippo/» و «.git/modules/hippo/hooks/» قرار می‌گیرند، و دایرکتوری hooks در اسب آبی می‌تواند به‌طور جداگانه برای میزبانی قلاب‌های فعال شده استفاده شود.

به کاربران ویندوز توصیه می شود فورا نسخه Git خود را به روز کنند و تا زمان به روز رسانی از شبیه سازی مخازن تایید نشده خودداری کنند. اگر هنوز امکان به‌روزرسانی فوری نسخه Git وجود ندارد، برای کاهش خطر حمله، توصیه می‌شود «git clone—recurse-submodules» و «git submodule update» را با مخازن چک نشده اجرا نکنید و از «git» استفاده نکنید. وارد کردن سریع» با جریان‌های ورودی بدون علامت، و نه برای شبیه‌سازی مخازن به پارتیشن‌های مبتنی بر NTFS.

برای امنیت بیشتر، نسخه‌های جدید استفاده از ساختارهای شکل "submodule.{name}.update=!command" را در gitmodules. ممنوع می‌کنند. برای توزیع‌ها، می‌توانید انتشار به‌روزرسانی‌های بسته را در صفحات دنبال کنید دبیان,اوبونتو, ریل, SUSE/openSUSE, کلاه نمدی مردانه, قوس, ALT, FreeBSD.

منبع: opennet.ru

اضافه کردن نظر