آسیب پذیری هایی در Git که منجر به نشت داده ها و بازنویسی می شود

نسخه های اصلاحی سیستم کنترل منبع توزیع شده Git 2.38.4، 2.37.6، 2.36.5، 2.35.7، 2.34.7، 2.33.7، 2.32.6، 2.31.7 و 2.30.8 منتشر شده است که رفع شده است. دو آسیب‌پذیری که بر بهینه‌سازی برای شبیه‌سازی محلی و فرمان «git application» تأثیر می‌گذارد. می‌توانید انتشار به‌روزرسانی‌های بسته را در توزیع‌ها در صفحات Debian، Ubuntu، RHEL، SUSE/openSUSE، Fedora، Arch، FreeBSD دنبال کنید. در صورت عدم امکان نصب به روز رسانی، توصیه می شود به عنوان یک راه حل از انجام عملیات "git clone" با گزینه "--recurse-submodules" در مخازن نامعتبر خودداری کنید و از استفاده از "git application" و "" خودداری کنید. دستورات git am" در مخازن نامعتبر. کد.

  • آسیب‌پذیری CVE-2023-22490 به مهاجمی که محتویات یک مخزن شبیه‌سازی‌شده را کنترل می‌کند، اجازه می‌دهد تا به داده‌های حساس در سیستم کاربر دسترسی پیدا کند. دو نقص به ظهور آسیب پذیری کمک می کند:

    اولین نقص اجازه می دهد، هنگام کار با یک مخزن طراحی شده خاص، به استفاده از بهینه سازی شبیه سازی محلی حتی در هنگام استفاده از حمل و نقلی که با سیستم های خارجی در تعامل است، دست یابد.

    نقص دوم امکان قرار دادن یک پیوند نمادین به جای دایرکتوری $GIT_DIR/objects، مشابه آسیب‌پذیری CVE-2022-39253 را می‌دهد، که رفع آن، قرار دادن پیوندهای نمادین را در دایرکتوری $GIT_DIR/objects مسدود کرد، اما این کار را انجام نداد. این واقعیت را بررسی کنید که دایرکتوری $GIT_DIR/objects ممکن است یک پیوند نمادین باشد.

    در حالت شبیه‌سازی محلی، git $GIT_DIR/اشیاء را با عدم ارجاع به پیوندهای نمادین به دایرکتوری هدف منتقل می‌کند، که باعث می‌شود فایل‌هایی که مستقیماً به آنها ارجاع داده می‌شوند در فهرست هدف کپی شوند. تغییر به استفاده از بهینه‌سازی‌های شبیه‌سازی محلی برای حمل‌ونقل غیرمحلی، امکان بهره‌برداری از آسیب‌پذیری‌ها را هنگام کار با مخازن خارجی فراهم می‌کند (به عنوان مثال، شامل کردن زیر ماژول‌ها به صورت بازگشتی با دستور "git clone — recurse-submodules" می‌تواند منجر به شبیه‌سازی یک مخزن مخرب بسته‌بندی شده به عنوان یک زیر ماژول شود. در یک مخزن دیگر).

  • آسیب پذیری CVE-2023-23946 به محتویات فایل های خارج از دایرکتوری کاری اجازه می دهد تا با ارسال ورودی دستکاری شده ویژه به دستور "git application" بازنویسی شوند. به عنوان مثال، یک حمله می تواند در طول پردازش وصله های آماده شده توسط یک مهاجم در "git application" انجام شود. برای مسدود کردن وصله‌ها از ایجاد فایل‌های خارج از کپی کار، «git application» پردازش وصله‌هایی را که تلاش می‌کنند با استفاده از پیوندهای نمادین فایل بنویسند، مسدود می‌کند. اما معلوم می شود که در وهله اول می توان با ایجاد یک پیوند نمادین از این حفاظت عبور کرد.

منبع: opennet.ru

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