نسخه های اصلاحی سیستم کنترل منبع توزیع شده Git 2.35.2، 2.30.3، 2.31.2، 2.32.1، 2.33.2 و 2.34.2 منتشر شده است که دو آسیب پذیری را برطرف می کند:
- CVE-2022-24765 - در سیستم های چند کاربره با دایرکتوری های مشترک، حمله ای شناسایی شده است که می تواند منجر به اجرای دستورات تعریف شده توسط کاربر دیگر شود. مهاجم میتواند در مکانهایی که با سایر کاربران همپوشانی دارند (مثلاً در دایرکتوریهای مشترک یا دایرکتوریهایی با فایلهای موقت) یک دایرکتوری «git.» ایجاد کند و یک فایل پیکربندی «.git/config» را با پیکربندی کنترلکنندههایی که زمانی که نامیده میشوند، در آن قرار دهد. دستورات git اجرا می شوند (به عنوان مثال، می توانید از پارامتر core.fsmonitor برای سازماندهی اجرای کد استفاده کنید).
اگر آن کاربر از git در دایرکتوری واقع در سطحی بالاتر از دایرکتوری فرعی ".git" ایجاد شده توسط مهاجم استفاده کند، کنترل کننده های تعریف شده در ".git/config" با حقوق کاربر دیگری فراخوانی می شوند. این تماس همچنین میتواند بهطور غیرمستقیم انجام شود، برای مثال، هنگام استفاده از ویرایشگرهای کدی که git را پشتیبانی میکنند، مانند VS Code و Atom، یا هنگام استفاده از افزونههایی که «وضعیت git» را اجرا میکنند (به عنوان مثال، Git Bash یا posh-git). در Git 2.35.2، این آسیبپذیری با تغییراتی در منطق جستجوی «.git» در فهرستهای زیربنایی مسدود شد (در صورتی که متعلق به کاربر دیگری باشد، دایرکتوری «.git» اکنون در نظر گرفته نمیشود).
- CVE-2022-24767 یک آسیب پذیری مخصوص پلتفرم ویندوز است که امکان اجرای کد با امتیازات SYSTEM را هنگام اجرای عملیات Uninstall برنامه Git for Windows فراهم می کند. مشکل از این واقعیت ناشی می شود که حذف کننده در یک پوشه موقت اجرا می شود که توسط کاربران سیستم قابل نوشتن است. این حمله با قرار دادن DLL های جایگزین در یک فهرست موقت انجام می شود، که وقتی حذف کننده با حقوق SYSTEM راه اندازی می شود، بارگیری می شود.
منبع: opennet.ru