خانه » CVE-2025-1634

CVE-2025-1634

Io.quarkus:quarkus-resteasy: memory leak in quarkus resteasy classic when client requests timeout

توسط Vulnerbyte Alerts
168 بازدید
هشدار سایبری CVE-2025-1634

چکیده

آسیب‌پذیری افشای حافظه (Memory Leak) در افزونه quarkus-resteasy (نسخه Classic) شناسایی شده است. زمانی که یک درخواست HTTP از سمت کلاینت با timeout بسیار کوتاه ارسال شود و سرور قبل از تکمیل پردازش آن را متوقف کند، بافر مربوطه به‌درستی آزاد نمی‌شود. مهاجم بدون نیاز به احراز هویت می‌تواند با ارسال مکرر چنین درخواست‌هایی، حافظه JVM را به‌تدریج مصرف کرده و در نهایت باعث OutOfMemoryError و کرش کامل برنامه شود.

توضیحات

آسیب‌پذیری CVE‑2025‑1634 از نوع عدم آزادسازی حافظه پس از پایان طول عمر مؤثر مطابق با CWE‑401 در پیاده‌سازی RESTEasy Classic در فریم‌ورک Quarkus است. هنگامی که یک کلاینت درخواست HTTP را با هدر timeout بسیار کوتاه یا با قطع عمدی اتصال ارسال می‌کند، سرور Quarkus شروع به پردازش درخواست کرده و بافرهای ورودی را در حافظه هیپ تخصیص می‌دهد. در نسخه‌های آسیب‌پذیر، مسیر مدیریت timeout این بافرها را به‌درستی آزاد نمی‌کند و آن‌ها به‌طور دائمی در حافظه باقی می‌مانند که منجر به افزایش تدریجی مصرف حافظه (Memory Leak)، بروز OutOfMemoryError و در نهایت کرش کامل برنامه (DoS) می‌شود.

بهره‌برداری از این ضعف بسیار ساده و قابل خودکارسازی است؛ مهاجم بدون نیاز به احراز هویت می‌تواند از راه دور و بدون تعامل کاربر، با یک اسکریپت ساده هزاران درخواست همزمان با timeout بسیار پایین ارسال کند. هر درخواست موفق در ایجاد timeout می‌تواند چندین کیلوبایت تا چند مگابایت حافظه را به‌طور دائمی اشغال کند. پس از چند دقیقه تا چند ساعت، بسته به شدت حمله و ظرفیت حافظه موجود، JVM با خطای java.lang.OutOfMemoryError: Java heap space مواجه شده و برنامه به‌طور کامل کرش می‌کند. تنها راه بازیابی موقت و ری‌استارت برنامه است، اما تا زمانی که نسخه پچ‌شده نصب نشود، امکان تکرار حمله وجود دارد.

پیامد اصلی این آسیب‌پذیری، تأثیر شدید بر دسترس‌پذیری سرویس است. این ضعف تمام نسخه‌های quarkus-resteasy پیش از 3.8.6 و 3.15.3 را تحت تأثیر قرار می‌دهد و با انتشار پچ‌های رسمی Red Hat به‌طور کامل برطرف شده است.

CVSS

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

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

Versions Product
affected from 0 before 3.8.6

affected from 0 before 3.15.3

quarkus-resteasy

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

Versions Product
3.8.6

3.15.3

quarkus-resteasy
RHSA-2025:2067 Red Hat Build of Apache Camel 4.8 for Quarkus 3.15
RHSA-2025:1885 Red Hat build of Quarkus 3.15.3.SP1
RHSA-2025:1884 Red Hat build of Quarkus 3.8.6.SP3
RHSA-2025:9922 Streams for Apache Kafka 2.9.1
RHSA-2025:12511 Streams for Apache Kafka 3.0.0

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

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

Approx. Usage in .ir Domain via Google

(Total Pages)

Search Query (Dork) Product
90 site:.ir “Quarkus” “RESTEasy” Quarkus RESTEasy
2,760 site:.ir “Quarkus” Quarkus

نتیجه گیری

این آسیب‌پذیری با شدت بالا در Quarkus RESTEasy Classic باعث می‌شود یک مهاجم بدون نیاز به احراز هویت بتواند با ارسال مکرر درخواست‌های HTTP با timeout بسیار کوتاه، مصرف حافظه سرور را پیوسته افزایش داده و نهایتاً منجر به توقف کامل سرویس شود. با توجه به انتشار پچ‌های رسمی، اقدامات زیر برای کاهش ریسک و جلوگیری از حملات مشابه ضروری است:

  • به‌روزرسانی فوری: تمام برنامه‌های مبتنی بر Quarkus را به نسخه‌های 3.8.6 ، 3.15.3 یا بالاتر و در محیط‌های Red Hat به آخرین نسخه مربوطه به روزرسانی کنید. این اقدام، مؤثرترین و قطعی‌ترین راهکار برای رفع آسیب‌پذیری است و باید در اولویت قرار گیرد. سایر اقدامات نقش مکمل را دارند و می‌توانند به کاهش ریسک این آسیب پذیری و مقابله با حملات مشابه کمک کنند.
  • استفاده از RESTEasy Reactive: در صورت امکان و پروژه‌های جدید، از RESTEasy Reactive به جای RESTEasy Classic استفاده کنید. این پیاده‌سازی کاملاً غیرمسدودکننده بوده و مسیر پردازش متفاوتی دارد که مانع بروز افشای حافظه می‌شود.
  • اعمال محدودیت نرخ (Rate Limiting) و Timeout منطقی: در لایه پروکسی معکوس (مانند NGINX، Traefik، Envoy) یا با افزونه‌های Quarkus، حداکثر تعداد درخواست در ثانیه و حداقل Timeout مجاز را محدود کنید تا حملات همزمان کنترل شوند.
  • فعال‌سازی WAF: فایروال اپلیکیشن وب (WAF) مانند ModSecurity یا Cloudflare را طوری پیکربندی کنید که درخواست‌هایی با هدر Timeout غیرمعمول یا بسیار پایین مسدود شوند.
  • مانیتورینگ حافظه JVM: هشدار فوری برای افزایش غیرمعمول حافظه heap یا تعداد ByteBuffer تنظیم کنید تا تلاش‌های حمله در مراحل اولیه شناسایی شوند.
  • محدودسازی دسترسی شبکه‌ای: در صورت امکان، دسترسی به اندپوینت‌های REST را فقط به IPهای معتبر محدود کنید یا از Mutual TLS برای احراز هویت و رمزگذاری ارتباطات استفاده نمایید.

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

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

Initial Access (TA0001)

مهاجم بدون نیاز به احراز هویت و از راه دور، مستقیماً با ارسال درخواست‌های HTTP معمولی اما با timeout بسیار کوتاه به سرویس REST وارد می‌شود. این بردار هیچ محدودیت یا تعامل کاربر ندارد و صرفاً بر پایه دسترسی عمومی API کار می‌کند، بنابراین Initial Access در سطح شبکه باز و کاملاً قابل بهره‌برداری است.

Impact (TA0040)

تأثیر نهایی حمله، اختلال شدید در دسترس‌پذیری از طریق مصرف تدریجی heap و ایجاد OutOfMemoryError است. این وضعیت موجب توقف کامل سرویس، ری‌استارت اجباری JVM و امکان تکرارپذیری حمله تا زمان نصب نسخه پچ‌شده می‌شود. مهاجم می‌تواند با اسکریپت ساده و حجم زیاد درخواست‌های timeout، سرویس را در سطح لایه 7 کاملاً از دسترس خارج کند.

منابع

  1. https://www.cve.org/CVERecord?id=CVE-2025-1634
  2. https://www.cvedetails.com/cve/CVE-2025-1634/
  3. https://access.redhat.com/security/cve/CVE-2025-1634
  4. https://vulmon.com/vulnerabilitydetails?qid=CVE-2025-1634
  5. https://vuldb.com/?id.296710
  6. https://bugzilla.redhat.com/show_bug.cgi?id=2347319
  7. https://nvd.nist.gov/vuln/detail/CVE-2025-1634
  8. https://cwe.mitre.org/data/definitions/401.html

همچنین ممکن است دوست داشته باشید

پیام بگذارید