- شناسه CVE-2025-7425 :CVE
- CWE-416 :CWE
- yes :Advisory
- منتشر شده: جولای 10, 2025
- به روز شده: نوامبر 22, 2025
- امتیاز: 7.8
- نوع حمله: Use after free
- اثر گذاری: Denial of Service (Dos)
- حوزه: دوربین های امنیتی
- برند: Red Hat
- محصول: Red Hat Enterprise Linux 7 Extended Lifecycle Support
- وضعیتPublished :CVE
- Yes :POC
- وضعیت آسیب پذیری: patch شده
چکیده
یک آسیبپذیری استفاده پس از آزادسازی هیپ (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 پردازش میکنند بیشترین ریسک را دارند.
منابع
- https://www.cve.org/CVERecord?id=CVE-2025-7425
- https://www.cvedetails.com/cve/CVE-2025-7425/
- https://access.redhat.com/security/cve/CVE-2025-7425
- https://vulmon.com/vulnerabilitydetails?qid=CVE-2025-7425
- https://vuldb.com/?id.315992
- https://bugzilla.redhat.com/show_bug.cgi?id=2379274
- https://gitlab.gnome.org/GNOME/libxslt/-/issues/140
- https://lists.debian.org/debian-lts-announce/2025/09/msg00035.html
- http://www.openwall.com/lists/oss-security/2025/07/11/2
- https://nvd.nist.gov/vuln/detail/CVE-2025-7425
- https://cwe.mitre.org/data/definitions/416.html