
EQSTLab 기반
이 취약점을 발견한 physicszq님께 감사드립니다.
★ CVE-2024-46538 PfSense 저장형 XSS로 인한 임의 코드 실행 PoC ★
CVE-2024-46538 : PfSense 저장형 XSS 취약점
설명: pfsense v2.5.2의 교차 사이트 스크립팅(XSS) 취약점으로, 공격자가 interfaces_groups_edit.php의 $pconfig 변수에 조작된 payload를 주입하여 임의의 웹 스크립트나 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 익스플로잇을 목적으로 하지 않습니다. 이 프로젝트의 목적은 사람들이 이 취약점에 대해 배우고, 자신의 애플리케이션을 테스트하는 데 도움을 주기 위함입니다.