گوگل تصمیم گرفته است اجزای پشتیبانیکننده از زبان تبدیل اسناد XML (XSLT) را از موتور مرورگر کرومیوم حذف کند. دلیل ذکر شده، تمایل به کاهش سطح حمله با قطع استفاده از کتابخانه libxslt است. گوگل معتقد است که پشتیبانی از XSLT 1.0 خطرات امنیتی غیرضروری ایجاد میکند، زیرا libxslt به صورت دورهای آسیبپذیر است (به عنوان مثال، CVE-2025-7425 و CVE-2022-22834) و دارای مشکلات نگهداری است (از ژوئن تا سپتامبر، این کتابخانه بدون نگهداری و بدون وصلههای آسیبپذیری بود). پروژههای فایرفاکس و وبکیت نیز در حال بررسی حذف پشتیبانی از XSLT هستند.
آسیبپذیریهای XSLT در حال تبدیل شدن به ابزاری برای حمله به مرورگرها هستند، علیرغم اینکه پشتیبانی XSLT سمت کلاینت در حال حاضر غیرضروری و به ندرت مورد استفاده قرار میگیرد و وظایف تبدیل دادههای HTML را میتوان با استفاده از APIهای جاوا اسکریپت مانند DOMParser و Fetch با امنیت بیشتری انجام داد. طبق آمار گوگل، سهم صفحات وب بارگذاری شده که از XSLT استفاده میکنند 0.02٪ است، در حالی که سهم صفحاتی که از دستورالعملهای پردازش XSLT استفاده میکنند 0.001٪ تخمین زده میشود.
به همین ترتیب، تصمیم گرفته شد که استفاده از کتابخانه libxml2 در کرومیوم متوقف شود، که مرتباً دارای آسیبپذیریها و مشکلات مربوط به نگهداری است. کرومیوم از libxml2 برای تجزیه، سریالسازی و اعتبارسنجی دادههای XML استفاده میکند و libxslt برای پیادهسازی کلاس XSLTProcessor و دستورالعملهای پردازش XSLT استفاده میشود (" »).
پشتیبانی از ویژگیهای مبتنی بر libxslt، مانند API XSLTProcessor و دستورالعملهای تجزیهی استایلشیت XML، در کروم ۱۵۵ که قرار است در ۱۷ نوامبر ۲۰۲۶ منتشر شود، منسوخ خواهد شد. در کروم ۱۴۳ که قرار است در ۲ دسامبر ۲۰۲۵ منتشر شود، هشداری به کنسول وب در مورد منسوخ شدن API XSLTProcessor اضافه خواهد شد. در کروم ۱۴۸ (بهار ۲۰۲۶)، پشتیبانی از XSLT به طور پیشفرض در شاخههای Canary، Dev و Beta غیرفعال خواهد شد. قابلیت تجزیهی XML باقی خواهد ماند، اما با در نظر گرفتن امنیت، به کتابخانهی جدیدی که با زبان برنامهنویسی Rust نوشته شده است، منتقل خواهد شد.
به عنوان جایگزینی برای پشتیبانی داخلی XSLT در مرورگر، پیشنهاد میشود پردازش XSLT به یک شرکت ثالث منتقل شود. سرور و محتوای HTML از پیش قالببندی شده را برای کلاینتها ارسال میکنند. هندلرهایی که از XML API برای تعامل بین کلاینت و سرورپیشنهاد میشود که با استفاده از فرمت JSON و تبدیل JSON به HTML/CSS با استفاده از جاوا اسکریپت جایگزین شود. سایر جایگزینهای ممکن عبارتند از کتابخانه جاوا اسکریپت Saxonica با پیادهسازی XSLT آن، یک لایه polyfill برای اطمینان از سازگاری با کد قدیمی، که جایگزینی مبتنی بر WASM برای XSLTProcessor ارائه میدهد، و یک افزونه مرورگر که به طور خودکار polyfill را در اسناد XML وارد میکند.
منبع: opennet.ru
