
مبني على [EQSTLab](https://github.com/EQSTLab)
شكرًا لـ physicszq، الذي اكتشف هذه الثغرة.
★ CVE-2024-46538 ثغرة XSS مخزنة في PfSense تؤدي إلى تنفيذ تعليمات برمجية تعسفية PoC ★
CVE-2024-46538 : ثغرة XSS مخزنة في PfSense
الوصف: ثغرة برمجة نصية عبر المواقع (XSS) في pfsense الإصدار 2.5.2 تسمح للمهاجمين بتنفيذ نصوص برمجية أو HTML تعسفية عبر حمولة مصممة تُحقن في المتغير $pconfig في الملف interfaces_groups_edit.php.
تحميل الإصدار الثغري (v2.5.2):
/src/usr/local/www/interfaces_groups_edit.php
if (isset($_POST['members'])) {
$members = implode(" ", $_POST['members']);
} else {
$members = "";
}
...
// Create new group
} else {
$ifgroupentry['ifname'] = $_POST['ifname'];
$a_ifgroups[] = $ifgroupentry;
}
write_config("Interface Group added");
interface_group_setup($ifgroupentry);
header("Location: interfaces_groups.php");
exit;
} else {
$pconfig['descr'] = $_POST['descr'];
$pconfig['members'] = $members;
}
}
يؤدي نقص التصفية في المتغير $pconfig في الملف interfaces_groups_edit.php إلى ثغرة برمجة نصية عبر المواقع (XSS). تسمح ثغرة XSS للمهاجمين باستخدام نقطة النهاية diag_command.php لتنفيذ أوامر تعسفية ضد المسؤول. على سبيل المثال، يمكن أن يؤدي جافا سكريبت التالي إلى تنفيذ تعليمات برمجية تعسفية.
المستخدم (لديه صلاحية: WebCfg - Interfaces: Groups: Edit) --(يخزن كود جافا سكريبت خبيث)--> المسؤول (لديه صلاحية تنفيذ الأكواد) --(يقرأ interfaces_groups.php)--> تنفيذ كود جافا سكريبت --> تنفيذ تعليمات برمجية
هذا المستودع ليس المقصود منه أن يكون استغلال XSS لـ CVE-2024-46538. الغرض من هذا المشروع هو مساعدة الأشخاص على التعرف على هذه الثغرة، وربما اختبار تطبيقاتهم الخاصة.