آسیب‌پذیری بحرانی در ماژول Apache mod_auth_openidc (نسخه‌های “≤۲.۴.۱۶.۱۰”) شناسایی شده که به مهاجمان غیرمجاز اجازه می‌دهد بدون احراز هویت به منابع محافظت‌شده دسترسی پیدا کنند.

این نقص با کد “CVE-2025-31492” شناخته می‌شود و در نسخه “۲.۴.۱۶.۱۱” رفع شده است. این آسیب‌پذیری زمانی بروز می‌دهد که تنظیم زیر فعال باشد:

  • “OIDCProviderAuthRequestMethod POST” استفاده شده باشد.

  • “Require valid-user” در تنظیمات Apache فعال باشد.

  • هیچ دروازه یا Load Balancer سطح اپلیکیشن بین کاربر و سرور وجود نداشته باشد.

شرح فنی

در شرایط خاص، درخواست GET به یک مسیر محافظت‌شده مانند “/foo/” باعث می‌شود پاسخ سرور هم فرم احراز هویت OIDC و هم محتوای محافظت‌شده (مانند “Protected page”) را به‌صورت هم‌زمان بازگرداند.

نمونه درخواست:

“GET /foo/ HTTP/1.1
Accept: /
Host: example.com”

نمونه پاسخ:

“HTTP/1.1 200 OK
Content-Type: text/html
Set-Cookie: mod_auth_openidc_state_….

<h1>Protected page</h1>”

بیشتر کتابخانه‌های HTTP بخش خراب پاسخ را کنار می‌گذارند، اما در درخواست‌های خام، محتوای فاش‌شده به‌وضوح قابل مشاهده است.

خطرات:

  • افشای اطلاعات حساس: محتوای صفحات یا APIهایی که باید محافظت‌شده باشند، در دسترس افراد غیرمجاز قرار می‌گیرند.

  • بهره‌برداری پنهان: بسیاری از ابزارها پاسخ‌های دارای اشکال را نادیده می‌گیرند و این باعث می‌شود حمله به‌راحتی کشف نشود.

  • ریسک گسترده: این ماژول در بسیاری از زیرساخت‌های OAuth2/OpenID در سطح سازمانی مورد استفاده است.

راهکارهای مقابله:

  • به‌روزرسانی فوری: ارتقاء به نسخه “mod_auth_openidc ≥۲.۴.۱۶.۱۱”

  • راهکارهای موقتی:

    • تغییر مقدار “OIDCProviderAuthRequestMethod” به “GET”

    • استفاده از Gateway یا Load Balancer برای پاک‌سازی پاسخ‌ها

  • مانیتورینگ: بررسی لاگ‌ها برای درخواست‌های مشکوک به مسیرهای محافظت‌شده

توسعه‌دهنده این ماژول، “zandbelt”، با ارتقاء عملکرد “oidc_content_handler” از درج ناخواسته محتوای اضافه جلوگیری کرده است.

با توجه به امکان ظهور سریع کدهای بهره‌برداری، به مدیران سیستم توصیه می‌شود که پچ‌ها را فوراً اعمال و تنظیمات احراز هویت OIDC را بازبینی کنند.


دوست داشتید؟ لطفا با دوستان خود به اشتراک بگذارید.

181

یک نظر

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