خانه » CVE-2025-10994

CVE-2025-10994

Open Babel Gamessformat.Cpp ReadMolecule Use After Free

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

چکیده

آسیب‌پذیری استفاده پس از آزادسازی (Use After Free) در Open Babel تا نسخه 3.1.1، در تابع GAMESSOutputFormat::ReadMolecule فایل gamessformat.cpp، شناسایی شده است که امکان خرابی حافظه (Memory Corruption) را فراهم می‌کند. این ضعف با پردازش فایل‌های GAMESS دستکاری‌شده، به صورت لوکال قابل بهره‌برداری است و می‌تواند منجر به اجرای کد شود.

توضیحات

آسیب‌پذیری CVE-2025-10994 در نرم‌افزار Open Babel، یک کتابخانه محاسباتی متن باز، ناشی از استفاده پس از آزادسازی (Use After Free) در تابع GAMESSOutputFormat::ReadMolecule فایل gamessformat.cpp است که مطابق با CWE-416 و CWE-119 طبقه‌بندی می‌شود. این ضعف در نسخه‌های 3.1.0 و 3.1.1 و همچنین در شاخه توسعه commit 889c350 وجود دارد.

این آسیب‌پذیری زمانی رخ می‌دهد که تابع ReadMolecule یک فایل خروجی GAMESS را پردازش می‌کند. تابع OpenBabel::tokenize خط ورودی را به توکن‌ها تقسیم کرده و یکی از توکن‌ها با استفاده از atoi به عدد تبدیل می‌شود. با این حال، بافر رشته توکن، پس از پاک‌سازی بردار توکن‌ها (token vector) آزاد می‌شود، اما اشاره‌گر آن همچنان توسط atoi یا strtol استفاده شده که منجر به استفاده از حافظه آزادشده (Use After Free) می‌گردد. این ضعف می‌تواند باعث خرابی حافظه و در صورت بهره‌برداری با فایل ورودی مخرب، منجر به اجرای کد دلخواه شود.

این آسیب‌پذیری به صورت لوکال با نیاز به دسترسی محدود و بدون تعامل کاربر قابل بهره‌برداری است. پیامدهای آن شامل نقض محدود محرمانگی، یکپارچگی و در دسترس‌پذیری است. کد اثبات مفهومی (PoC) در قالب فایل Zip مخرب (poc.zip) منتشر شده است. تاکنون پچ رسمی منتشر نشده و Open Babel به اطلاع رسانی اولیه پاسخی نداده است.

CVSS

Score Severity Version Vector String
4.8 MEDIUM 4.0 CVSS:4.0/AV:L/AC:L/AT:N/PR:L/UI:N/VC:L/VI:L/VA:L/SC:N/SI:N/SA:N/E:P
5.3 MEDIUM 3.1 CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:L/I:L/A:L/E:P/RL:X/RC:R
5.3 MEDIUM 3.0 CVSS:3.0/AV:L/AC:L/PR:L/UI:N/S:U/C:L/I:L/A:L/E:P/RL:X/RC:R
4.3 2.0 AV:L/AC:L/Au:S/C:P/I:P/A:P/E:POC/RL:ND/RC:UR

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

Versions Product
affected at 3.1.0

affected at 3.1.1

Open Babel

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

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

Approx. Usage in .ir Domain via Google

(Total Pages)

Product
361 Open Babel

 نتیجه گیری

این آسیب‌پذیری با شدت متوسط در Open Babel به دلیل ضعف استفاده پس از آزادسازی (Use After Free) هنگام پردازش فایل‌های GAMESS است و می‌تواند منجر به خرابی حافظه و در شرایط مناسب اجرای کد مخرب لوکال شو.. باتوجه به عدم انتشار پچ رسمی، اجرای اقدامات زیر ضروری است:

  • اجتناب از فایل‌های غیرقابل اعتماد: از پردازش فایل‌های GAMESS از منابع ناشناخته یا غیرمعتبر خودداری کنید.
  • استفاده از سندباکس: Open Babel را در محیط سندباکس مانند Docker اجرا کنید تا تأثیرات احتمالی خرابی حافظه محدود شود.
  • نظارت بر ورودی‌ها: فایل‌های ورودی را قبل از پردازش با ابزارهای بررسی ساختار و اعتبارسنجی کنترل کنید تا الگوهای مخرب شناسایی شوند.
  • کامپایل با ابزارهای شناسایی خطا (Sanitizers): در فرآیند ساخت از AddressSanitizer و UndefinedBehaviorSanitizer (ابزارهای شناسایی باگ‌های حافظه) استفاده کنید تا خطاهای حافظه در زمان توسعه یا تست آشکار شوند.
  • جایگزینی ابزار: در صورت امکان، از ابزار یا کتابخانه جایگزین و امن‌تری استفاده کنید.
  • آموزش و آگاهی: توسعه‌دهندگان و کاربران را در مورد ریسک Use After Free و اهمیت اعتبارسنجی ورودی‌ها آموزش دهید.

اجرای این اقدامات ریسک بهره‌برداری از این آسیب‌پذیری را کاهش داده و امنیت Open Babel را به طور قابل توجهی افزایش می دهد.

منابع

  1. https://www.cve.org/CVERecord?id=CVE-2025-10994
  2. https://www.cvedetails.com/cve/CVE-2025-10994/
  3. https://vulmon.com/vulnerabilitydetails?qid=CVE-2025-10994
  4. https://vuldb.com/?submit.654057
  5. https://vuldb.com/?id.325922
  6. https://vuldb.com/?ctiid.325922
  7. https://github.com/openbabel/openbabel/issues/2834
  8. https://github.com/user-attachments/files/22318611/poc.zip
  9. https://nvd.nist.gov/vuln/detail/CVE-2025-10994

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

پیام بگذارید

send
سوالی دارید؟
می تونید از من بپرسید 👋 ×