ترجمة آلية لم تُراجَع بعد. النص الإنجليزي هو المرجع في حال الاختلاف.
الملخص
يوجد تحييد غير سليم للإدخال أثناء توليد صفحات الويب في Apache Wicket. يقوم org.apache.wicket.markup.html.link.ExternalLink بناء معالج نقر بلغة JavaScript ويكتبه في سمة onclick الخاصة بالوسم كلما لم يكن وسم الترميز المرتبط به عنصراً من نوع a أو link أو area. يتم دمج عنوان URL الموجود في نموذج المكون داخل نص حرفي لسلسلة JavaScript محاطة بعلامتي اقتباس مفردة في ذلك المعالج دون الهروب من هذا السياق. يحدث الأمر ذاته في الفرع المجاور، الذي يُنفذ عند إرفاق إعدادات النوافذ المنبثقة، حيث يُدمج القيمة في استدعاء window.open() الذي يبنيه org.apache.wicket.markup.html.link.PopupSettings#getPopupJavaScript(). الهروب الوحيد المطبق هو هروب الترميز الذي تتلقاه كل قيمة سمة أثناء كتابة الوسم، والذي يستبدل الفاصلة العليا بمرجع حرف. يفك المتصفح ترميز مرجع الحرف في قيمة السمة قبل تجميع معالج الأحداث، ونتيجة لذلك تتم استعادة الفاصلة العليا، وإغلاق النص الحرفي للسلسلة، وتنفيذ باقي قيمة النموذج كشيفرة برمجية في مصدر التطبيق. يتأثر التطبيق عندما يربط ExternalLink بوسم ترميز ليس رابطاً، مثل زر أو عنصر span، ويكون عنوان URL في النموذج حاملاً لبيانات يمكن للمهاجم التأثير عليها، وهو الاستخدام العادي للمكون وليس سوء استخدام له. لا يُنفذ أي شي حتى يقوم المستخدم بتنشيط العنصر. تؤثر هذه الثغرة على Apache Wicket: من الإصدار 8.0.0 حتى 8.19.0. يجب على مستخدمي Apache Wicket الإصدار 7.x أو الأقدم، والتي لم تعد مدعومة، الترقية إلى إصدار مدعوم. يوصى المستخدمون بالترقية إلى الإصدار 8.20.0، الذي يصحح هذه الثغرة.