Quarkusیک آسیب‌پذیری امنیتی حیاتی در Quarkus Java Framework فاش شده است که می‌تواند به‌طور بالقوه برای دستیابی به اجرای کد از راه دور در سیستم‌های آسیب‌دیده مورد بهره‌برداری قرار گیرد.

این نقص که به‌عنوان CVE-2022-4116 ردیابی می‌شود[۱] (امتیاز ۸/۹ در مقیاس CVSS)، می‌تواند توسط یک بازیگر مخرب بدون هیچ‌گونه امتیازی به‌طور بی‌اهمیت مورد سوءاستفاده قرار گیرد.

Joseph Beeton، محقق Contrast Security که این اشکال را گزارش کرده است، دراین‌باره گفت[۲]: «این آسیب‌پذیری در Dev UI Config Editor یافت می‌شود، که در برابر حملات drive-by localhost که می‌تواند منجر به اجرای کد از راه دور (RCE) شود، آسیب‌پذیر است.»

Quarkus که توسط Red Hat توسعه داده‌شده است، یک پروژه متن‌باز[۳] است که برای ایجاد برنامه‌های جاوا در محیط‌های کانتینری[۴] و بدون سرور استفاده می‌شود.

شایان‌ذکر است که این مشکل[۵] تنها بر توسعه‌دهندگانی تأثیر می‌گذارد که Quarkus را اجرا می‌کنند و فریب‌خورده‌اند تا از یک وب‌سایت ساخته‌شده ویژه بازدید کنند، که با کد جاوا اسکریپت مخرب برای نصب یا اجرای بارهای دلخواه تعبیه‌شده طراحی شده است.

این می‌تواند به شکل یک حمله spear-phishing یا یک حمله watering hole بدون نیاز به تعامل بیشتر از جانب قربانی باشد. از طرف دیگر، این حمله را می‌توان با ارائه تبلیغات سرکش در وب‌سایت‌های محبوبی که توسعه‌دهندگان به آن مراجعه می‌کنند، انجام داد.

[۶]Dev UI که از طریق Dev Mode[7] ارائه می‌شود، به localhost (یعنی میزبان فعلی[۸]) متصل است و به توسعه‌دهنده اجازه می‌دهد تا وضعیت یک برنامه را نظارت کند، پیکربندی را تغییر دهد، پایگاه‌های داده را انتقال دهد و حافظه پنهان را پاک کند.

ازآنجایی‌که به ماشین محلی توسعه‌دهنده محدود می‌شود، Dev UI همچنین فاقد کنترل‌های امنیتی حیاتی مانند احراز هویت و اشتراک‌گذاری منابع متقابل[۹] (CORS) است تا از خواندن داده‌های سایت دیگر توسط یک وب‌سایت جعلی جلوگیری کند.

مشکل شناسایی‌شده توسط Contrast Security در این واقعیت نهفته است که کد جاوا اسکریپت میزبانی‌شده در یک وب‌سایت دارای دژافزار را می‌توان برای تغییر پیکربندی برنامه Quarkus از طریق یک درخواست HTTP POST برای اجرای کد مورداستفاده قرار داد[۱۰].

Quarkus در یک مشاوره مستقل خاطرنشان کرد[۱۱]: «درحالی‌که این فقط روی حالت Dev تأثیر می‌گذارد، تأثیر آن همچنان زیاد است، زیرا می‌تواند منجر به دسترسی محلی مهاجم به جعبه توسعه شما شود».

به کاربران توصیه می‌شود برای محافظت در برابر این نقص به نسخه نهایی ۲٫۱۴٫۲ و ۲٫۱۳٫۵ ارتقا دهند. همچنین یک راه‌حل بالقوه این است که تمام endpoint های غیرکاربردی را به یک مسیر ریشه تصادفی منتقل کنید.

  منابع

[۱] https://nvd.nist.gov/vuln/detail/CVE-2022-4116

[۲] https://www.contrastsecurity.com/security-influencers/localhost-attack-against-quarkus-developers-contrast-security

[۳] https://quarkus.io/about

[۴] https://en.wikipedia.org/wiki/Containerization_(computing)

[۵] https://access.redhat.com/security/cve/CVE-2022-4116

[۶] https://quarkus.io/guides/dev-ui

[۷] https://quarkus.io/guides/dev-mode-differences

[۸] https://en.wikipedia.org/wiki/Localhost

[۹] https://web.dev/cross-origin-resource-sharing

[۱۰] https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS#simple_requests

[۱۱] https://quarkus.io/blog/quarkus-2-14-2-final-released

[۱۲] https://thehackernews.com/2022/12/researchers-disclose-critical-rce.html