در صورت سوء استفاده، این نقص ها می توانند به مهاجمان اجازه دسترسی غیرمجاز به اطلاعات حساس را بدهند یا به طور کلی مشکلاتی ایجاد کنند.
در انتشار اصلاحات جدید تعمیر و نگهداری Git نسخه 2.40.1، به همراه نسخه های تعمیر و نگهداری نسخه های قبلی v2.39.3، v2.38.5، v2.37.7، v2.36.6، v2.35.8،
v2.34.8، v2.33.8، v2.32.7، v2.31.8، و v2.30.9، به این دلیل که اطلاعاتی مبنی بر شناسایی پنج آسیب پذیری در Git منتشر شد.
انتشار این نسخه های نگهداری به منظور رسیدگی به مسائل امنیتی شناسایی شده است مانند CVE-2023-25652، CVE-2023-25815، و CVE-2023-29007.
درباره آسیبپذیریهای Git
آسیب پذیری CVE-2023-29007 اجازه می دهد تا پیکربندی را در فایل پیکربندی جایگزین کنید. $GIT_DIR/config، که می تواند برای اجرای کد روی سیستم با مشخص کردن مسیرهای فایل های اجرایی در دستورالعمل های core.pager، core.editor و core.sshCommand استفاده شود.
آسیب پذیری به دلیل یک خطای منطقی به دلیل مقادیر بسیار طولانی پیکربندی است آنها را می توان با تغییر نام یا حذف یک بخش از یک فایل پیکربندی، به عنوان شروع یک بخش جدید در نظر گرفت.
در عمل، جایگزینی مقادیر اکسپلویت را می توان با مشخص کردن URL های زیر ماژول بسیار طولانی که در فایل $GIT_DIR/config در هنگام مقداردهی اولیه ذخیره می شوند، به دست آورد. وقتی میخواهید آنها را از طریق "git submodule deinit" حذف کنید، میتوان این URLها را به عنوان پیکربندیهای جدید تفسیر کرد.
آسیب پذیری دیگر این است CVE-2023-25652 که امکان بازنویسی محتوای فایل های خارج از درخت کار را فراهم می کند. هنگام پردازش وصله های طراحی شده خاص با دستور "git اعمال --رد کردن«. اگر بخواهید یک پچ مخرب را با دستور " اجرا کنیدgit اعمال شود» که تلاش می کند از طریق یک پیوند نمادین در یک فایل بنویسد، عملیات رد می شود.
به نوبه خود، آسیبپذیری CVE-2023-25815: هنگامی که Git با پشتیبانی از پیشوند زمان اجرا کامپایل میشود و بدون پیامهای ترجمه شده اجرا میشود، همچنان از دستگاه gettext برای نمایش پیامها استفاده میکند، که متعاقباً به طور بالقوه به دنبال پیامهای ترجمه شده در مکانهای غیرمنتظره میگردند. این امکان ارسال مخرب پیام های دستکاری شده را فراهم کرد.
در Git 2.39.1، حفاظت در برابر دستکاری پیوندهای نمادین برای مسدود کردن وصلههایی که پیوندهای نمادین ایجاد میکنند و تلاش میکنند از طریق آنها بنویسند، گسترش یافته است. ماهیت آسیب پذیری مورد بحث این است که Git در نظر نگرفته است که کاربر می تواند دستور "git application –reject" را اجرا کند. برای نوشتن قسمت های رد شده پچ به عنوان فایل هایی با پسوند ".rej" و مهاجم می تواند از این تابع برای نوشتن محتوا در یک فهرست دلخواه استفاده کند، تا جایی که حقوق دسترسی فعلی اجازه می دهد.
علاوه بر این، رفع سه آسیب پذیری که فقط در ویندوز ظاهر می شوند:
- CVE-2023-29012: (هنگام اجرای دستور "Git CMD" به دنبال فایل اجرایی doskey.exe در فهرست کاری مخزن می گردد که امکان سازماندهی اجرای کد آن را در سیستم کاربر فراهم می کند)
- CVE-2023-25815: سرریز بافر هنگام پردازش فایل های محلی سازی سفارشی در gettext. این آسیبپذیری بر روی کاربرانی که روی دستگاههای ویندوزی کار میکنند که سایر طرفهای غیرقابل اعتماد دسترسی نوشتن به آنها دارند، تأثیر میگذارد. به طور معمول، همه کاربران احراز هویت شده مجوز ایجاد پوشهها در C:\ را دارند که به عوامل مخرب اجازه میدهد پیامهای بد را به git.exe تزریق کنند.
- CVE-2023-29011: امکان جایگزینی فایل connect.exe هنگام کار از طریق SOCKS5. محل فایل پیکربندی connect.exe به مسیری که عموماً به صورت C:\etc\connectrc تعبیر میشود، کدگذاری میشود، که به طور مشابه با موارد بالا قابل قبول است.
کومو راه حل جایگزین برای محافظت در برابر آسیب پذیری ها، توصیه می شود از اجرای دستور خودداری کنید «git اعمال --رد کردن» هنگام کار با وصله های خارجی تأیید نشده و تأیید محتوای $GIT_DIR/config قبل از اجرای دستورات "زیر ماژول git deinit«،«پیکربندی git --rename-section" و "git config --remove-section" هنگام برخورد با مخازن نامعتبر.
در نهایت ، اگر علاقه مند هستید که بتوانید در مورد آن بیشتر بدانید ، می توانید از جزئیات موجود در آن مشورت کنید لینک زیر
برای کسانی که علاقه مند به دنبال کردن انتشار به روز رسانی بسته در توزیع ها هستند، می توانند این کار را در صفحات انجام دهند دبیان, اوبونتو, ریل, SUSE/openSUSE, کلاه نمدی مردانه, قوس, FreeBSD.
اولین کسی باشید که نظر