Comments 9
www.contextis.com/blog/xslt-server-side-injection-attacks
Кажется, кто-то вернулся в свой 2007-й!
Эта технология часто используется для следующих целей:
построение отчетности;
экспорт данных в тот или иной формат;
Это удобнее в связке с PHP использовать. Вернее получается XML+PHP вместо XML+XSLT.
Возможность выполнения произвольного непонятно откуда взятого XSLT — это не вектор атаки на XSLT, строго говоря. Это вектор атаки на приложение, использующее данную технологию. XSLT — это код. Давать возможность выполнять недоверенный код — это дыра по умолчанию, тут даже обсуждать нечего.
Эту возможность надо отключить навсегда, и тогда прочих описанных проблем по большей части не будет вовсе.
И кстати — если внимательно посмотреть на перечисленные тут CVE, то только один из случаев является проблемой в процессоре (возможность выполнять произвольный Java код — кстати, отключается средствами Java, скорее всего). Остальные два классифицируются как уязвимости в Struts и другом приложении, позволяющие выполнять произвольный неконтроллируемый XSLT код. Т.е. опять таки — это уязвимости не в XSLT, это уязвимости приложения, которое пользуется XSLT, но при этом позволяет извне загружать некие "левые" трансформации.
Веб-уязвимости XSLT: Server Side Injection