کشف آسیب‌پذیری در h2oai/h2o-3

کشف آسیب‌پذیری در h2oai/h2o-3

تاریخ ایجاد

آسیب‌پذیری CVE-2025-6544 با شدت 9.8 (Critical) در پروژهٔ متن‌باز h2oai/h2o-3 (نسخه‌های تا و از جمله‌ی 3.46.0.8) شناسایی شده است. علت مشکل پردازش ناصحیح پارامترهای اتصال JDBC است؛ مهاجم می‌تواند با دورزدن فیلترها از طریق double URL-encoding، رشته‌‌های JDBC مخرب ارسال کند تا پی‌لودهای سریال‌شده اجرا شوند.

بهره‌برداری موفق می‌تواند منجر به خواندن فایل‌های سیستمی دلخواه (مانند فایل‌های پیکربندی و اسرار) شود و در مواردی ممکن است به اجرای کد از راه دور (RCE) و تسلط بر سرویس یا میزبان منتهی شود. هر استقراری که از نسخه‌های آسیب‌پذیر استفاده کند و پارامترهای JDBC را از ورودی شبکه قبول کند در معرض خطر است؛ در این وضعیت، بهره‌برداری از راه دور عملی‌تر و خطرناک‌تر خواهد بود.

 

محصولات تحت تأثیر

  • تمام نسخه‌های h2oai/h2o-3 برابر یا کمتر از 3.46.0.8 (هر بسته یا باینری که از این نسخه یا قدیمی‌تر استفاده می‌کند).

  • انواع استقرارها شامل:

    • اجرای محلی با h2o.jar یا بسته‌های باینری،

    • ایمیج‌های Docker h2oai/h2o-3 و کانتینرهای ساخته شده از آن‌ها،

    • کلاسترهای توزیع‌شده یا سرویس‌های میزبانی‌شده که h2o-3 را در بک‌اند دارند،

    • سرویس‌ها یا اپلیکیشن‌هایی که به‌طور مستقیم پارامترهای JDBC را به h2o-3 پاس می‌دهند یا از آن ورودی می‌گیرند.

  • هر محصول یا پلتفرم ثالث که h2o-3 را embed یا بسته‌بندی کرده و نسخهٔ آسیب‌پذیر را شامل می‌شود (مثلاً ایمیج‌های آماده، applianceها یا توزیع‌های داخلی).

 

توصیه‌های امنیتی

  1. شناسایی سریع نسخه‌ها

    • فهرست همهٔ سرویس‌ها و سرورهایی که h2o-3 را اجرا می‌کنند و بررسی نسخه‌ها.

    • مثال: java -jar h2o.jar --version یا در داکر:

      docker ps --filter ancestor=h2oai/h2o-3 --format '{{.ID}} {{.Image}}'

  2. به‌روزرسانی در صورت وجود پچ رسمی

    • اگر نسخهٔ اصلاح‌شده منتشر شده است، فوراً ارتقا دهید (ابتدا در محیط تست، سپس در محیط تولید).

  3. محدودسازی شبکه (قفل دسترسی)

    • دسترسی به نقاطی که پارامتر JDBC می‌پذیرند را فقط به شبکهٔ مدیریت/VPN یا آدرس‌های IP مورداعتماد محدود کنید (فایروال، security groups).

  4. فیلتر و canonicalize در لبهٔ شبکه (WAF / Reverse Proxy)

    • قوانینی اعمال کنید که درخواست‌های حاوی الگوهای double-encoded یا رشته‌های مشکوک در پارامترهای JDBC را مسدود کند.

  5. اجرای سرویس با کمترین امتیاز ممکن

    • h2o-3 را با کاربر کم‌امتیاز اجرا کنید و دسترسی به فایل‌سیستم را محدود نمایید.

  6. بازبینی لاگ‌ها و تشخیص رخدادها

    • به‌دنبال الگوهای double-encoded، خطاهای سریال‌سازی یا درخواست‌های مشکوک در لاگ‌ها بگردید و هر نشانه‌ای از نفوذ را فوراً بررسی کنید.

  7. چرخش اسرار در صورت لزوم

    • در صورت شواهد نفوذ یا افشای احتمالی، همهٔ اسرار و credentialهای مربوطه را فوراً چرخانده و تغییر دهید.

  8. تست امنیتی و بازبینی کد (code review)

    • تست نفوذ متمرکز روی پردازش پارامترهای JDBC، بازبینی کد و اصلاح ریشه‌ای منطق پردازش ورودی‌ها انجام دهید.

 

منبع خبر:

[1]https://nvd.nist.gov/vuln/detail/CVE-2025-6544