Компания Google взе решение да премахне от браузърния двигател Chromium компоненти за поддръжка на езика за преобразуване на XML-документи XSLT. Като причина се посочва желанието да се намали повърхността на атаката чрез прекратяване на използването на библиотеката libxslt. Според Google поддръжката на XSLT 1.0 създава неоправдани рискове за сигурността, тъй като в библиотеката libxslt периодично се откриват уязвимости (например, CVE-2025-7425 и CVE-2022-22834) и тя има проблеми с поддръжката (от юни до септември библиотеката остана без поддръжка и решение на уязвимостите). Проектите Firefox и WebKit също разглеждат възможността за премахване на поддръжката на XSLT.
Уязвимостите в XSLT стават инструмент за извършване на атаки срещу браузъри, като в момента клиентската поддръжка на XSLT не е търсена и се използва много рядко, а задачите по преобразуване на данни в HTML могат да се решават по- безопасно с JavaScript API, като DOMParser и Fetch. Според статистиката на Google, делът на заредените уеб страници, на които се използва XSLT, е 0.02%, а делът на страниците, на които се прилагат инструкции за обработка на XSLT, е оценен на 0.001%.
По подобен начин е решено да се прекрати използването на библиотеката libxml2 в Chromium, в която също редовно се откриват уязвимости и има проблеми с поддръжката. Библиотеката libxml2 се използва в Chromium за парсинг, сериализация и валидиране на данни в XML формат, а на базата на libxslt е реализиран класът XSLTProcessor и инструкциите за обработка на XSLT ("").
Поддръжката на възможности, основани на libxslt, като API XSLTProcessor и инструкции за анализ на XML стилови таблици, ще бъде прекратена в версия Chrome 155, насрочена за 17 ноември 2026 година. В Chrome 143, планирана за 2 декември 2025 година, в уеб консолата ще бъде добавено предупреждение за прехвърляне на API XSLTProcessor в категорията на остарелите. В Chrome 148 (пролетта на 2026 година) поддръжката на XSLT ще бъде деактивирана по подразбиране в клоновете Canary, Dev и Beta. Функционалността за парсинг на XML ще остане, но ще бъде прехвърлена на нова библиотека, написана на Rust, с акцент върху сигурността.
Като замяна на вградената в браузъра поддръжка на XSLT се предлага прехвърляне на обработката на XSLT на страна сървър и изпращане на вече форматиран HTML съдържание на клиентите. Обработчиците, използващи XML API за взаимодействие между клиента и сървъра., предлага се да се замени с приложение на формата JSON и визуализация чрез преобразуване на JSON в HTML/CSS с помощта на JavaScript. От възможните алтернативи също така се отбелязва използването на JavaScript библиотеки Saxonica с реализация на XSLT, polyfill-слой за осигуряване на съвместимост со стар код, предлагащ замяна на XSLTProcessor на база WASM, и браузърно разширение, автоматично добавящо polyfill-слой в XML документи.
Източник: opennet.ru
