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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
CVE-2026-23491 — CVE-2026-23491 - InvoicePlane의 Guest Controller에서 인증되지 않은 Path Traversal 취약점 | Kitploit
도구/GitHubGitHub/lukasz-rybak/cve-2026-23491
Vulnerability AnalysisExploitationWeb Application ExploitationInformation GatheringPenetration TestingLearning & Education
GitHublukasz-rybak/cve-2026-23491

CVE-2026-23491

CVE-2026-23491 - InvoicePlane의 Guest Controller에서 인증되지 않은 Path Traversal 취약점

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

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

CVE-2026-23491: InvoicePlane에는 Guest 컨트롤러에 인증되지 않은 경로 탐색 취약점이 있습니다

개요

필드세부 정보
CVE IDCVE-2026-23491
심각도치명적
보안 권고보안 권고 보기
발견자Lukasz Rybak

영향을 받는 제품

  • InvoicePlane/InvoicePlane

세부 내용

요약

InvoicePlane v1.6.3의 Guest 모듈 Get 컨트롤러에 있는 get_file 메서드에 경로 탐색(path traversal) 취약점이 존재합니다. 이 취약점으로 인해 인증되지 않은 공격자가 입력 파일 이름을 조작하여 서버의 임의 파일을 읽을 수 있습니다. 이로 인해 데이터베이스 자격 증명이 포함된 구성 파일을 비롯한 민감한 정보가 노출될 수 있습니다.

세부 사항

이 취약점은 application/modules/guest/controllers/Get.php 파일의 get_file 함수에 있습니다.

이 함수는 URL에서 직접 $filename 매개변수를 받습니다. urldecode($filename)를 수행하지만 디렉터리 탐색 시퀀스(예: ../)에 대한 입력 검증을 수행하지 않습니다. 그런 다음 검증되지 않은 파일 이름은 기본 디렉터리($this->targetPath, uploads/customer_files/에 해당)와 연결되어 readfile() 함수에 전달됩니다.

취약한 코드 조각:

root@kitploit:~
public function get_file($filename): void
{
    $filename = urldecode($filename);
    if ( ! file_exists($this->targetPath . $filename)) {
        $ref = isset($_SERVER['HTTP_REFERER']) ? ', Referer:' . $_SERVER['HTTP_REFERER'] : '';
        $this->respond_message(404, 'upload_error_file_not_found', $this->targetPath . $filename . $ref);
    }

    // ... headers setting content type and disposition ...

    readfile($this->targetPath . $filename);
}

$filename은 사용자에 의해 제어되고 검증되지 않으므로, 공격자는 ../../ipconfig.php와 같은 문자열을 제공하여 의도된 디렉터리를 벗어날 수 있습니다.

PoC

다음 cURL 명령은 기본 uploads/customer_files/ 디렉터리에서 두 단계 위에 있는 ipconfig.php 파일을 읽는 방법을 보여줍니다:

root@kitploit:~
curl http://localhost/index.php/guest/get/get_file/..%2f..%2fipconfig.php
이미지

예상 출력: 서버는 DB_PASSWORD 및 ENCRYPTION_KEY와 같은 민감한 환경 변수를 포함하는 ipconfig.php의 내용으로 응답합니다.

영향

공격자는 애플리케이션 구성, 소스 코드 및 잠재적으로 웹 서버 사용자가 읽을 수 있는 시스템의 다른 파일을 읽을 수 있습니다.

참고 자료

  • https://github.com/InvoicePlane/InvoicePlane/security/advisories/GHSA-88gq-mv54-v3fc
  • https://github.com/InvoicePlane/InvoicePlane/commit/add8bb798dde621f886823065ef1841986543c69

면책 조항

이 CVE는 조율된 취약점 공개(coordinated vulnerability disclosure) 절차에 따라 책임감 있게 공개되었습니다. 여기에 제공된 정보는 교육 및 방어 목적으로만 제공됩니다.

도구 다운로드