خانه » CVE-2025-10911

CVE-2025-10911

Libxslt: Use-After-Free With Key Data Stored Cross-Rvt

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

چکیده

آسیب‌پذیری در کتابخانه Libxslt تا نسخه 1.1.43، به دلیل استفاده از اشاره‌گرهای منقضی‌شده (Expired Pointer Dereference) هنگام پردازش nodeهای  xslاست که امکان استفاده پس از آزادسازی (Use After Free) را فراهم می‌کند. این ضعف امنیتی می‌تواند منجر به کرش اپلیکیشن شود.

توضیحات

آسیب‌پذیری CVE-2025-10911 در کتابخانه Libxslt که برای پردازش XSLT (زبان تبدیل XML) استفاده می‌شود، ناشی از ضعف در مدیریت nodeهای xsl و ذخیره‌سازی داده‌های کلید (key data) در Result Value Trees (RVT) است. این ضعف مطابق باCWE-825  طبقه‌بندی شده و در نسخه‌های 0 تا 1.1.43 وجود دارد.

هنگام ارزیابی RVT،  stylesheetها به صورت xmlDocPtr در یک لیست پیوندی ذخیره می‌شوند که از اشاره‌گرهای prev و next در xmlDoc استفاده می‌کند (تابع xsltRegisterPersistRVT). در عین حال، هنگام پردازش تابع key() در XPath (زبان انتخاب nodeها در XML) ، کلیدهای xsl در تابع xsltInitAllDocKeys ارزیابی شده و داده‌های کلید در فیلد private از xmlDocPtr ذخیره می‌شوند.

مشکل زمانی رخ می‌دهد که محور xpath مانند preceding:: در عبارت کلید استفاده شود، زیرا اشاره‌گر prev در RVT به RVT دیگری اشاره دارد که می‌تواند باعث ذخیره nodeهایی از RVT دیگر در جدول کلید RVT فعلی شود. هنگام پاک‌سازی (cleanup)، اگر RVT حاوی nodeها ابتدا آزاد شود، RVT دیگر همچنان به این nodeهای آزادشده اشاره می‌کند که منجر به استفاده پس از آزادسازی می‌شود.

این آسیب‌پذیری به صورت لوکال بدون نیاز به سطح دسترسی اما با نیاز به تعامل کاربر قابل بهره‌برداری است. پیامد اصلی آن تأثیر بالا بر در دسترس‌پذیری است که منجر به کرش اپلیکیشن می‌شود. کد اثبات مفهومی (PoC) با فایل‌های uaf.xsl و uaf.xml منتشر شده که هنگام اجرای xsltproc روی این فایل‌ها، خرابی را با گزارش AddressSanitizer نشان می‌دهد.

Red Hat رفع این آسیب پذیری را به تعویق انداخته و پچ در نسخه‌های فعلی منتشر نشده است، اما یک درخواست ادغام (merge request) در GitLab برای استفاده از نوع node اختصاصی جهت جلوگیری از این آسیب پذیری پیشنهاد شده است. این ضعف بر محصولات متعدد Red Hat، از جمله Red Hat Enterprise Linux (RHEL) نسخه‌های 9 تا10  و Red Hat OpenShift Container Platform 4 تأثیر می‌گذارد.

CVSS

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

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

Versions Product
affected from 0 through 1.1.43 libxslt
All versions are affected Red Hat Enterprise Linux 10
All versions are affected Red Hat Enterprise Linux 6
All versions are affected Red Hat Enterprise Linux 7
All versions are affected Red Hat Enterprise Linux 8
All versions are affected Red Hat Enterprise Linux 9
All versions are affected Red Hat OpenShift Container Platform 4

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

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

Approx. Usage in .ir Domain via Google

(Total Pages)

Search Query (Dork) Product
53 site:.ir “Red Hat” “libxslt” “Red Hat” “libxslt”

 نتیجه گیری

این آسیب‌پذیری در Libxslt یک تهدید با شدت متوسط برای سیستم‌هایی است که فایل‌های XSLT را پردازش می‌کنند و می‌تواند منجر به کرش اپلیکیشن و در شرایط خاص، اجرای کد مخرب شود. با توجه به عدم انتشار پچ رسمی و تأثیر بر محصولات Red Hat، اجرای اقدامات زیر ضروری است:

  • اجتناب از فایل‌های غیرمعتبر: از پردازش فایل‌های XSLT از منابع غیرقابل اعتماد خودداری کنید.
  • اجرای سندباکس: برنامه‌هایی که از Libxslt استفاده می‌کنند را در محیط‌های سندباکس مانند Docker یا SELinux اجرا کنید تا تأثیرات خرابی محدود شود.
  • نظارت بر ورودی‌ها: فایل‌های XSLT ورودی را قبل از پردازش با ابزارهای اعتبارسنجی بررسی کنید تا داده های مخرب شناسایی شوند.
  • به‌روزرسانی‌های پروژه: تغییرات و merge requestهای GitLab پروژه Libxslt را برای دریافت پچ احتمالی دنبال کنید.
  • جایگزینی ابزار: در صورت امکان، از کتابخانه‌های جایگزین امن‌تر برای پردازش XSLT استفاده کنید.
  • آموزش و آگاهی: توسعه‌دهندگان و مدیران سیستم را در مورد ریسک Use After Free و اهمیت اعتبارسنجی ورودی‌ها آموزش دهید.
  • محدودسازی منابع : اعمال ulimit یا cgroup برای محدود کردن مصرف CPU و حافظه پردازش‌های XSLT به‌منظور کاهش اثر احتمالی کرش یا سوءاستفاده.
  • جداسازی وظایف: انتقال پردازش XSLT به یک سرویس/ماژول جدا با سطح دسترسی حداقلی تا در صورت بهره‌برداری، تأثیر آسیب‌پذیری به کل سیستم سرایت نکند.

اجرای این اقدامات ریسک بهره‌برداری از این آسیب‌پذیری را کاهش داده و امنیت سیستم‌های وابسته به Libxslt را بهبود می‌بخشد.

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

Initial Access (TA0001)

این ضعف می‌تواند در سناریوهایی که فایل‌های XSLT از منابع غیرقابل اعتماد بارگذاری می‌شوند به‌عنوان نقطه ورود اولیه عمل کند. مهاجم با ارائه یک فایل XSLT مخرب به سیستم هدف، اجرای زنجیره حمله را آغاز می‌کند.

Impact (TA0040)

نتایج بهره‌برداری شامل کرش اپلیکیشن، اختلال در سرویس‌های وابسته است.

منابع

  1. https://www.cve.org/CVERecord?id=CVE-2025-10911
  2. https://www.cvedetails.com/cve/CVE-2025-10911/
  3. https://access.redhat.com/security/cve/CVE-2025-10911
  4. https://bugzilla.redhat.com/show_bug.cgi?id=2397838
  5. https://vulmon.com/vulnerabilitydetails?qid=CVE-2025-10911
  6. https://vuldb.com/?id.325877
  7. https://gitlab.gnome.org/GNOME/libxslt/-/issues/144
  8. https://gitlab.gnome.org/GNOME/libxslt/-/merge_requests/77
  9. https://nvd.nist.gov/vuln/detail/CVE-2025-10911
  10. https://cwe.mitre.org/data/definitions/825.html

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

پیام بگذارید

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