چکیده

آسیب‌پذیری در Keycloak ناشی از استفاده مجدد از شناسه نشست احراز هویت (Authentication Session ID) و پاک‌سازی ناکافی در فرآیند خروج (Logout) است و زمانی رخ می دهد که کوکی‌های مرورگر در دسترس نباشند. در چنین حالتی، اگر دو کاربر از یک دستگاه و مرورگر مشترک استفاده کنند، ممکن است نشست احراز هویت کاربر قبلی به‌طور کامل خاتمه نیابد و کاربر بعدی به‌صورت ناخواسته به نشست و توکن‌های کاربر قبلی دسترسی پیدا کند که منجر به تصاحب نشست آفلاین (Offline Session Takeover) می‌شود.

توضیحات

آسیب‌پذیری CVE-2025-12390 در کامپوننت org.keycloak.protocol.oidc.endpoints.LogoutEndpoint از Keycloak از نوع ثابت‌سازی نشست (Session Fixation) مطابق با CWE-384 است. این ضعف زمانی رخ می‌دهد که دو کاربر از یک دستگاه و مرورگر مشترک استفاده کنند. در برخی شرایط، Keycloak شناسه نشست احراز هویت را مجدداً استفاده می‌کند و در فرآیند خروج، در صورت عدم وجود کوکی‌های مرورگر، پاک‌سازی کامل نشست احراز هویت انجام نمی‌شود.

در نتیجه، کاربر بعدی که از همان مرورگر وارد شود، ممکن است توکن‌های آفلاین متعلق به کاربر قبلی را دریافت کند و به نشست آفلاین او دسترسی پیدا کند. این مسئله به ویژه در محیط‌های با اشتراک دستگاه یا مرورگر ریسک بالایی ایجاد می‌کند و می‌تواند منجر به افشای اطلاعات حساس یا سوءاستفاده از هویت کاربر قبلی شود.

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

پیامدهای این آسیب‌پذیری شامل تأثیر بالا بر محرمانگی، با افشای توکن‌ها و داده‌های نشست، و یکپارچگی، با امکان دستکاری یا استفاده از هویت دیگری است.

این آسیب‌پذیری در نسخه 26.0.0 Keycloak و همچنین در نسخه‌های Keycloak ارائه شده توسط شرکت Red Hat  به‌طور کامل پچ شده است.

CVSS

Score Severity Version Vector String
6.0 MEDIUM 3.1 CVSS:3.1/AV:L/AC:H/PR:L/UI:R/S:U/C:H/I:H/A:N

لیست محصولات آسیب پذیر

Versions Product
affected from 0 before 26.0.0 keycloak

لیست محصولات بروز شده

Versions Product
26.0.0 keycloak
unaffected from 26.2.11-1 (RHSA-2025:22088) Red Hat build of Keycloak 26.2
unaffected from 26.2-12 (RHSA-2025:22088) Red Hat build of Keycloak 26.2
unaffected from 26.2-12 (RHSA-2025:22088) Red Hat build of Keycloak 26.2
All versions are unaffected (RHSA-2025:22089) Red Hat build of Keycloak 26.2.11
unaffected from 26.4.4-1 (RHSA-2025:21371) Red Hat build of Keycloak 26.4
unaffected from 26.4-3 (RHSA-2025:21371) Red Hat build of Keycloak 26.4
unaffected from 26.4-3 (RHSA-2025:21371) Red Hat build of Keycloak 26.4
All versions are unaffected (RHSA-2025:21370) Red Hat build of Keycloak 26.4.4

استفاده محصول در ایران

در این جدول، تعداد صفحات ایندکس‌شده در گوگل با دامنه .ir که keycloak را ذکر کرده اند، ثبت شده است. این داده صرفاً برای برآورد تقریبی حضور محصولات در وب ایران استفاده شده و نمایانگر میزان نصب دقیق و استفاده واقعی نیست.

Approx. Usage in .ir Domain via Google

(Total Pages)

Search Query (Dork) Product
4,850 site:.ir “keycloak” keycloak

نتیجه گیری

این آسیب‌پذیری با شدت متوسط در Keycloak، امکان تصاحب نشست آفلاین را در سناریوهای اشتراک دستگاه فراهم می‌کند و می‌تواند منجر به افشای توکن‌ها یا سوءاستفاده از هویت کاربران شود. با توجه به انتشار پچ‌های امنیتی توسط تیم های Keycloak و Red Hat، اجرای اقدامات زیر برای جلوگیری از بهره‌برداری و کاهش سطح ریسک ضروری است:

  • به‌روزرسانی فوری: تمام استقرارهای Keycloak را به نسخه 26.0.0 یا بالاتر به روزرسانی کنید. کاربران نسخه‌های Keycloak ارائه شده توسط شرکت Red Hat باید از نسخه‌های پچ‌شده مانند 26.2.11، 26.2.12، 26.4.3 یا 26.4.4 استفاده کنند. این اقدام، مؤثرترین و قطعی‌ترین راهکار برای رفع آسیب‌پذیری است و باید در اولویت قرار گیرد. سایر اقدامات نقش مکمل را دارند و می‌توانند به کاهش ریسک این آسیب پذیری و مقابله با حملات مشابه کمک کنند.
  • محدودسازی اشتراک دستگاه: در محیط‌های حساس، از استفاده مشترک از دستگاه و مرورگر بین کاربران مختلف جلوگیری کنید و سیاست‌های استفاده از دستگاه‌های شخصی را اعمال نمایید.
  • نظارت بر نشست: لاگ‌های Keycloak را برای فعالیت‌های مشکوک مانند ورودهای متعدد از یک مرورگر بررسی کرده و از ابزارهای مانیتورینگ برای شناسایی نشست های طولانی یا غیرعادی استفاده نمایید.
  • آموزش کاربران: کاربران را درباره ریسک‌های اشتراک دستگاه و اهمیت خروج کامل از نشست آموزش دهید تا از باقی ماندن نشست های آفلاین جلوگیری شود.
  • ایزوله‌سازی محیط: در صورت امکان، Keycloak را در محیط‌های ایزوله اجرا کنید
  • تست امنیتی: اپلیکیشن‌ها را به‌طور منظم با ابزارهایی مانند OWASP ZAP اسکن کنید تا سناریوهای مدیریت نشست شناسایی شود.

اجرای این اقدامات، به‌ویژه به‌روزرسانی سریع نسخه‌ها و آموزش کاربران، ریسک بهره‌برداری از این آسیب‌پذیری را به‌طور چشمگیری کاهش داده و امنیت مدیریت هویت در Keycloak را به‌صورت قابل‌توجهی افزایش می‌دهد.

امکان استفاده در تاکتیک های Mitre Attack

Initial Access (TA0001)
این آسیب‌پذیری از طریق استفاده مشترک از دستگاه و مرورگر و ورود کاربر بعدی به Keycloak رخ می‌دهد، جایی که شناسه نشست احراز هویت قبلی به‌طور کامل پاک‌سازی نشده است. مهاجم نیاز به دسترسی لوکال و احراز هویت پایه دارد و حمله از راه دور نیست.

Credential Access (TA0006)
در نتیجه استفاده مجدد از Authentication Session ID، توکن‌های آفلاین کاربر قبلی ممکن است به کاربر بعدی تخصیص داده شوند که عملاً معادل دسترسی غیرمجاز به اعتبارنامه‌های هویتی است. این وضعیت منجر به افشای توکن‌ها بدون نیاز به سرقت مستقیم رمز عبور می‌شود.

Defense Evasion (TA0005)
پاک‌سازی ناقص نشست در فرآیند Logout، به‌ویژه زمانی که کوکی‌ها در دسترس نباشند، باعث می‌شود مکانیزم‌های پیش‌فرض خاتمه نشست دور زده شوند. این مسئله یک ضعف منطقی در مدیریت نشست است و با ابزارهای امنیتی پیرامونی مانند WAF قابل شناسایی یا مسدودسازی نیست.

Persistence (TA0003)
با در اختیار گرفتن نشست آفلاین، مهاجم می‌تواند دسترسی خود را برای مدت‌زمانی فراتر از نشست فعال حفظ کند.

Collection (TA0009)
مهاجم می‌تواند داده‌های مرتبط با هویت کاربر، اطلاعات پروفایل و دسترسی به سرویس‌های متصل به Keycloak را جمع‌آوری کند.

Impact (TA0040)
این زنجیره حمله می‌تواند به تصاحب هویت کاربر، دسترسی غیرمجاز به سامانه‌های متصل، افشای اطلاعات حساس و نقض یکپارچگی عملیات احراز هویت منجر شود. تأثیر نهایی عمدتاً بر محرمانگی و یکپارچگی است و دسترس‌پذیری را مستقیماً تحت تأثیر قرار نمی‌دهد.

منابع

  1. https://www.cve.org/CVERecord?id=CVE-2025-12390
  2. https://www.cvedetails.com/cve/CVE-2025-12390/
  3. https://access.redhat.com/security/cve/CVE-2025-12390
  4. https://vulmon.com/vulnerabilitydetails?qid=CVE-2025-12390
  5. https://vuldb.com/?id.330286
  6. https://bugzilla.redhat.com/show_bug.cgi?id=2406793
  7. https://github.com/keycloak/keycloak/issues/43853
  8. https://nvd.nist.gov/vuln/detail/CVE-2025-12390
  9. https://cwe.mitre.org/data/definitions/384.html

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *