آسیبپذیری بحرانی در ماژول 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 را بازبینی کنند.
یک نظر