خانه » CVE-2025-7425

CVE-2025-7425

Libxslt: Heap Use-After-Free In Libxslt Caused By Atype Corruption In Xmlattrptr

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

چکیده

یک آسیب‌پذیری استفاده پس از آزادسازی هیپ (Heap Use-After-Free) در کتابخانه libxslt وجود دارد که ناشی از خرابی فیلد atype در ساختار xmlAttrPtr است. این ضعف هنگام پردازش توابع XSLT مانند key() و تولید بخش‌های درختی (result tree fragments) رخ می‌دهد و باعث می‌شود پاک‌سازی ویژگی‌های ID به‌درستی انجام نشود. در نتیجه، جدول ID به حافظه‌ای اشاره می‌کند که قبلاً آزاد شده و این امر می‌تواند باعث کرش برنامه یا خرابی حافظه هیپ شود.

توضیحات

آسیب‌پذیری CVE-2025‑7425 یک ضعف از نوع استفاده پس از آزادسازی حافظه هیپ مطابق با CWE-416 در کتابخانه libxslt است که در نتیجه خرابی مقدار atype در ساختار xmlAttrPtr رخ می‌دهد. این فیلد بخشی از سیستم مدیریت ویژگی‌ها در libxslt است و خرابی آن باعث می‌شود مکانیزم مدیریت حافظه داخلی کتابخانه عملکرد غیرمنتظره داشته باشد.

این ضعف زمانی فعال می‌شود که libxslt در حال پردازش توابع XSLT به ویژه تابع key() است و در نتیجه، result tree fragment تولید می‌شود. در این شرایط، به علت خرابی مقدار atype، عملیات پاک‌سازی و آزادسازی ویژگی‌های ID به‌درستی انجام نمی‌شود. در نتیجه، جدول ID به اشاره‌گرهایی ارجاع می‌دهد که قبلاً آزاد شده‌اند. دسترسی بعدی به این اشاره‌گرها، به‌ویژه در تابع xmlFreeIDTable، می‌تواند موجب دسترسی به حافظه آزادشده، کرش برنامه یا خرابی حافظه هیپ (Heap Corruption) شود.

این آسیب‌پذیری در libxslt زمانی رخ می‌دهد که ورودی XML یا XSLT تحت کنترل مهاجم باعث فعال شدن مسیرهایی در پردازش template و ارزیابی attributeها می‌شود. در شرایط مشخص، libxslt در هنگام آزادسازی ساختارهای وابسته به attribute handling به‌ویژه در سناریوی key()/ID-based processing شیئی را که قبلاً آزاد شده دوباره ارجاع می‌دهد. این وضعیت یک Use‑After‑Free قابل‌تکرار روی ساختارهای داخلی libxml2 ایجاد می‌کند. یک کد اثبات مفهومی (PoC) نیز به‌صورت عمومی منتشر شده است که این عملکرد را بازتولید می‌کند. این PoC نشان می‌دهد که چگونه یک ورودی XML دست‌کاری‌شده می‌تواند موجب خرابی مقدار atype شود و در هنگام آزادسازی جدول ID باعث استفاده از حافظه آزادشده گردد. خروجی PoC در محیط‌های اشکال‌زدایی مانند AddressSanitizer وقوع استفاده پس از آزادسازی و خرابی حافظه هیپ را تأیید می‌کند و نشان می‌دهد که این آسیب‌پذیری در شرایط واقعی قابل سوءاستفاده است.

پیامد اصلی این آسیب‌پذیری کرش برنامه و انکار سرویس (DoS) است، اما به دلیل وجود عملیات حافظه پس از آزادسازی و امکان دستکاری ساختارهای داخلی، احتمال رسیدن به اجرای کد دلخواه (ACE/RCE) در محیط‌های خاص وجود دارد. این آسیب‌پذیری در نسخه‌های رسمی libxslt پچ شده است.

CVSS

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

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

Versions Product
All versions before fixed versions RHEL7/8/9, OpenShift, Web Terminal, cert-manager, Compliance Operator, File Integrity Operator, Discovery, Insights Proxy, OpenShift distributed tracing
All versions are affected Red Hat Enterprise Linux 10

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

Versions Product
unaffected from 0:2.9.1-6.el7_9.12 Red Hat Enterprise Linux 7 Extended Lifecycle Support
unaffected from 0:2.9.7-21.el8_10.2 Red Hat Enterprise Linux 8
unaffected from 0:2.9.7-21.el8_10.2 Red Hat Enterprise Linux 8
unaffected from 0:2.9.7-9.el8_2.4 Red Hat Enterprise Linux 8.2 Advanced Update Support
unaffected from 0:2.9.7-9.el8_4.7 Red Hat Enterprise Linux 8.4 Advanced Mission Critical Update Support
unaffected from 0:2.9.7-9.el8_4.7 Red Hat Enterprise Linux 8.4 Extended Update Support Long-Life Add-On
unaffected from 0:2.9.7-13.el8_6.11 Red Hat Enterprise Linux 8.6 Advanced Mission Critical Update Support
unaffected from 0:2.9.7-13.el8_6.11 Red Hat Enterprise Linux 8.6 Telecommunications Update Service
unaffected from 0:2.9.7-13.el8_6.11 Red Hat Enterprise Linux 8.6 Update Services for SAP Solutions
unaffected from 0:2.9.7-16.el8_8.10 Red Hat Enterprise Linux 8.8 Telecommunications Update Service
unaffected from 0:2.9.7-16.el8_8.10 Red Hat Enterprise Linux 8.8 Update Services for SAP Solutions
unaffected from 0:2.9.13-11.el9_6 Red Hat Enterprise Linux 9
unaffected from 0:2.9.13-11.el9_6 Red Hat Enterprise Linux 9
unaffected from 0:2.9.13-1.el9_0.6 Red Hat Enterprise Linux 9.0 Update Services for SAP Solutions
unaffected from 0:2.9.13-3.el9_2.8 Red Hat Enterprise Linux 9.2 Update Services for SAP Solutions
unaffected from 0:2.9.13-11.el9_4 Red Hat Enterprise Linux 9.4 Extended Update Support
unaffected from 412.86.202509030110-0 Red Hat OpenShift Container Platform 4.12
unaffected from 413.92.202509030117-0 Red Hat OpenShift Container Platform 4.13
unaffected from 414.92.202508270040-0 Red Hat OpenShift Container Platform 4.14
unaffected from 415.92.202508192014-0 Red Hat OpenShift Container Platform 4.15
unaffected from 416.94.202508261955-0 Red Hat OpenShift Container Platform 4.16
unaffected from 417.94.202508141510-0 Red Hat OpenShift Container Platform 4.17
unaffected from 418.94.202508261658-0 Red Hat OpenShift Container Platform 4.18
unaffected from 4.19.9.6.202508271124-0 Red Hat OpenShift Container Platform 4.19
unaffected from 1.11-19 Red Hat Web Terminal 1.11 on RHEL 9
unaffected from 1.11-8 Red Hat Web Terminal 1.11 on RHEL 9
unaffected from 1.12-4 Red Hat Web Terminal 1.12 on RHEL 9
unaffected from sha256:330e8b5ab4841a21f8f5f23cc7fb192197872f11639b12bf4b1e70831f636323 cert-manager operator for Red Hat OpenShift 1.16
unaffected from sha256:6ab41bd207ae7e33f29adc87e208366472654bb5fb9b1854234cc5674ecc169e Compliance Operator 1
unaffected from sha256:09f37fa618a4e02460b28b1097148573b395354300db5f917ed155ab7968b779 Compliance Operator 1
unaffected from sha256:525c4d55fde92557bd0c3123961cb32eee28edca3aaa884e224d5efa4f3c4f83 Compliance Operator 1
unaffected from sha256:59fcdf4ea159ba76fdb582011263672646dd9d63304a91592c0a21d0f43986a4 File Integrity Operator 1
unaffected from sha256:c517869dacaf4d3650310d4a52e83706e0b311d6ebb4a9b37b1c7acff5c142ec Red Hat Discovery 2
unaffected from sha256:c26d589f12647890b67aaa986f54d3f7c6f7f2563fb5a73f38d559e6138739d7 Red Hat Insights proxy 1.5
unaffected from sha256:6f387ea61bf4d0c11c8fadd8225d2eca24d19e28d596afa800149925154a345a Red Hat OpenShift distributed tracing 3.5.2
unaffected from sha256:02d88da5fdc965b3759b7c74667dc93a374dc379719456a2a9c0ef15ac36d656 Red Hat OpenShift distributed tracing 3.5.2
unaffected from sha256:260572b783d27d50a2dcdcac09a1fe15358c0fa5f85de93ce5fd8321cd81a0fa Red Hat OpenShift distributed tracing 3.5.2
unaffected from sha256:783a10c95edcb5c5cb8394b796f27dbfbb5ac6e1ee3baaa27d6c43f411ad6045 Red Hat OpenShift distributed tracing 3.5.2
unaffected from sha256:802a78aa94df0a14b8a0ddd350e128141ebc0b8c18730b7a54947ba7431d6bc2 Red Hat OpenShift distributed tracing 3.5.2
unaffected from sha256:b8ab8265ceed867796cf63e05b3c2b161ef289ec0ff1337c4b5c763228e747f3 Red Hat OpenShift distributed tracing 3.5.2
unaffected from sha256:264613b2add0f32e5f537ee7cf9ba8019e5e9a347fdf20bc3de8d1678157ba66 Red Hat OpenShift distributed tracing 3.5.2
unaffected from sha256:f5597ccb53daabec083dfea3b0f0f635e159591f2243ecfc44c6a165c6653a5f Red Hat OpenShift distributed tracing 3.5.2
unaffected from sha256:dc1731fd9e662d103f60a097833260adb9bbeb94b401281d9c65169e5db86bf8 Red Hat OpenShift distributed tracing 3.5.2

 

Out of support scope Red Hat Enterprise Linux 6

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

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

Approx. Usage in .ir Domain via Google

(Total Pages)

Search Query (Dork) Product
2,820 site:.ir “Libxslt” Libxslt

نتیجه گیری

این آسیب‌پذیری با شدت بالا در کتابخانه‌ی پرکاربرد libxslt، از نوع استفاده پس از آزادسازی حافظه است. این ضعف می‌تواند باعث خرابی حافظه هیپ،کرش برنامه و انکار سرویس شود. همچنین در شرایط خاص و با ورودی کاملاً کنترل‌شده، احتمال اجرای کد دلخواه (ACE) نیز وجود دارد. با توجه به انتشار عمومی کد اثبات مفهومی (PoC) و ارائه پچ رسمی، اجرای اقدامات زیر ضروری است:

  • به‌روزرسانی فوری: تمام نسخه های libxslt را به نسخه های رسمی پچ شده به روزرسانی کنید. این اقدام، مؤثرترین و قطعی‌ترین راهکار برای رفع آسیب‌پذیری است و باید در اولویت قرار گیرد. سایر اقدامات نقش مکمل را دارند و می‌توانند به کاهش ریسک این آسیب پذیری و مقابله با حملات مشابه کمک کنند.
  • محدودسازی پردازش XSLT: در برنامه‌ها یا سرویس‌هایی که XML/XSLT ورودی کاربر را پردازش می‌کنند، از پردازش مستقیم ورودی‌های ناشناس خودداری کنید. در صورت نیاز، از محیط‌های ایزوله (Sandbox) مانند seccomp، Firejail و کانتینرهای ایزوله (Docker/Podman containers) استفاده کنید تا نفوذ احتمالی مهاجم محدود شود.
  • غیرفعال‌سازی توابع پرریسک: در برنامه‌های مبتنی بر libxslt توابع key و generate-id را در صورت عدم نیاز غیرفعال یا محدود کنید.
  • فعال‌سازی مکانیزم‌های حفاظتی: فعال بودن مکانیزم های امنیتی ASLR (تصادفی‌سازی چیدمان حافظه)، NX/DEP (جلوگیری از اجرای بخش‌های داده)، Stack Canaries (محافظ‌های پشته) و CFI (یکپارچگی جریان کنترل) می‌تواند احتمال موفقیت بهره‌برداری استفاده پس از آزادسازی را کاهش دهد.
  • مانیتورینگ کرش‌ها: لاگ‌های سیستم مانند systemd‑coredump و ابزارهای امنیتی EDR را برای شناسایی کرش‌ها و عملکردهای غیرمعمول مرتبط با xsltproc و کتابخانه libxslt مانیتور کنید.

اجرای این اقداماتبه‌ویژه به‌روزرسانی فوری libxslt ، به شکل قابل‌توجهی ریسک بهره‌برداری از این آسیب‌پذیری و سایر ضعف‌های مشابه مبتنی بر پردازش XML/XSLT را کاهش می‌دهد و از کرش برنامه، خرابی حافظه و اجرای کد دلخواه جلوگیری می‌کند.

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

Initial Access (TA0001)
ورودی مخرب از طریق XML/XSLT تحت کنترل مهاجم وارد سیستم می‌شود؛ معمولاً از طریق سرویس‌های سمت‌سرور که به‌صورت خودکار stylesheet یا داده‌های XML کاربر را پردازش می‌کنند. مهاجم تنها با ارائه یک فایل XML/ XSLT مخرب، بدون نیاز به احراز هویت اضافی یا تعامل کاربر، اجرای مسیر آسیب‌پذیر را آغاز می‌کند.

Execution (TA0002)
در جریان پردازش templateها و attributeها، ساختارهای داخلی مرتبط با ID/attribute‑handling به‌طور ناقص آزاد می‌شوند و دسترسی مجدد به حافظه آزادشده ایجاد می‌شود. این UAF می‌تواند منجر به DoS قطعی شود و بسته به نحوه کنترل heap توسط مهاجم، در برخی پیکربندی‌ها قابلیت شکل‌دهی به شرایط اجرای کد دلخواه را فراهم کند.

Discovery (TA0007)
مهاجم می‌تواند با ارسال stylesheetهای آزمایشی، رفتار پردازشگر XSLT را جستجو کرده و تشخیص دهد که آیا سیستم از نسخه آسیب‌پذیر libxslt استفاده می‌کند یا خیر. این probing معمولاً بدون ایجاد هشدار قابل توجه انجام می‌شود.

Defense Evasion (TA0005)
payload در قالب یک XML/XSLT کاملاً معتبر پنهان می‌شود و چون ساختار مخرب در سطح logic و sequence پردازش templateها پنهان است، اکثر سیستم‌های تشخیص مبتنی بر امضا آن را نمی‌بینند. این اجازه می‌دهد ورودی مخرب بدون سروصدا وارد زنجیره پردازش شود.

Impact (TA0040)
تأثیر اصلی شامل کرش سرویس XSLT و DoS قطعی است. با توجه به وقوع استفاده از حافظه پس از آزادسازی و امکان دسترسی مهاجم به الگوی تخصیص حافظه، احتمال رسیدن به اجرای کد دلخواه در محیط‌های خاص وجود دارد. سرویس‌هایی که XML/XSLT را به‌صورت پویا و بدون sandbox پردازش می‌کنند بیشترین ریسک را دارند.

منابع

  1. https://www.cve.org/CVERecord?id=CVE-2025-7425
  2. https://www.cvedetails.com/cve/CVE-2025-7425/
  3. https://access.redhat.com/security/cve/CVE-2025-7425
  4. https://vulmon.com/vulnerabilitydetails?qid=CVE-2025-7425
  5. https://vuldb.com/?id.315992
  6. https://bugzilla.redhat.com/show_bug.cgi?id=2379274
  7. https://gitlab.gnome.org/GNOME/libxslt/-/issues/140
  8. https://lists.debian.org/debian-lts-announce/2025/09/msg00035.html
  9. http://www.openwall.com/lists/oss-security/2025/07/11/2
  10. https://nvd.nist.gov/vuln/detail/CVE-2025-7425
  11. https://cwe.mitre.org/data/definitions/416.html

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

پیام بگذارید