感谢 physicszq 发现此漏洞。
★ CVE-2024-46538 PfSense 存储型 XSS 导致任意代码执行 PoC ★
CVE-2024-46538 : PfSense 存储型 XSS 漏洞
描述:pfsense v2.5.2 中存在一个跨站脚本(XSS)漏洞,攻击者可通过在 interfaces_groups_edit.php 的 $pconfig 变量中注入特制载荷来执行任意 Web 脚本或 HTML。
下载存在漏洞的版本(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;
}
}
interfaces_groups_edit.php 中的 $pconfig 变量缺乏过滤,导致跨站脚本(XSS)漏洞。该跨站脚本(XSS)漏洞允许攻击者利用 diag_command.php 端点对管理员执行任意命令。例如,以下 JavaScript 可导致任意代码执行。
用户(拥有权限:WebCfg - Interfaces: Groups: Edit)--(存储恶意 JavaScript 代码)--> 管理员(拥有执行代码权限)--(读取 interfaces_groups.php)--> JavaScript 代码执行 --> 代码执行
本仓库并非针对 CVE-2024-46538 的 XSS 漏洞利用工具。本项目旨在帮助人们了解此漏洞,并可能用于测试他们自己的应用程序。
https://github.com/physicszq/web_issue/blob/main/pfsense/interfaces_groups_edit_file.md_xss.md