توسعهدهندگان نرمافزاز منبعباز جنکینز، ۹ نقص امنیتی، از جمله یک آسیب پذیری بحرانی را برطرف کردهاند که اگر با موفقیت مورد سوء استفاده قرار گیرد، میتواند منجر به اجرای کد از راه دور (RCE) شود.
این نقص که با عنوان CVE CVE-2024-23897 دنبال میشود، به عنوان یک آسیبپذیری arbitrary file read از طریق رابط خط فرمان داخلی توصیف شده است.
توسعهدهندگان این ابزار روز چهارشنبه گفتند: «جنکینز از کتابخانه args4j برای parse کردن آرگومانها و گزینههای فرمان روی کنترلرهای جنکینز هنگام پردازش دستورات CLI استفاده میکند».«این پرسر فرمان دارای یک ویژگی است که یک کاراکتر @ و به دنبال آن یک مسیر فایل را در یک آرگومان با محتویات فایل (expandAtFiles) جایگزین میکند.این ویژگی به طور پیشفرض فعال است و جنکینز 2.441 به بالا، LTS 2.426.2 و نسخههای قبلی آن را غیرفعال نمیکند.»
یک عامل تهدید میتواند از این ویژگی برای خواندن فایلهای دلخواه در سیستم فایل کنترلر جنکینز با استفاده از رمزگذاری کاراکتر پیشفرض فرآیند کنترلکننده جنکینز استفاده کند.
در حالی که مهاجمان دارای مجوز «کلی/خواندن» میتوانند کل فایلها را بخوانند، افرادی که این مجوز را ندارند میتوانند سه خط اول فایلها را بسته به دستورات CLI بخوانند.
بهعلاوه، این نقص میتواند برای خواندن فایلهای باینری حاوی کلیدهای رمزنگاری، البته با محدودیتهای خاص، مورد استفاده قرار گیرد. و میتواند راه را برای حملات مختلف باز کند :
- اجرای کد از راه دور از طریق URL های ریشه منبع
- اجرای کد از راه دور از طریق کوکی “Remember Me”
- اجرای کد از راه دور از طریق حملات XSS ذخیره شده از طریق لاگهای build
- اجرای کد از راه دور از طریق عبور حفاظتی CSRF
- رمزگشایی secret ذخیره شده در جنکینز
- حذف کردن هر موردی در جنکینز
- دانلود کردن Java Heap Dumps
محقق امنیتی Yaniv Nizry مسئول کشف و گزارش این نقص است که در Jenkins 2.442، LTS 2.426.3 با غیرفعال کردن ویژگی پرسر فرمان برطرف شده است.
به عنوان یک راه حل کوتاه مدت تا زمانی که پچ قابل اعمال باشد، توصیه می شود دسترسی به CLI را خاموش کنید.
منبع: https://thehackernews.com/2024/01/critical-jenkins-vulnerability-exposes.html