Perses의 권한과 범위 경계에 영향을 주는 두 가지 취약점이 vendor advisory를 통해 공개됐다. 하나는 파일 시스템 데이터베이스 사용 환경에서 list 엔드포인트의 project 파라미터가 경로 순회 문자에 대해 검증되지 않아 발생하는 파일 시스템 경로 순회이고, 다른 하나는 데이터소스 프록시의 인가 누락으로 비인가 시크릿이 평문으로 노출되는 문제다.
개요

Perses는 observability 대시보드 플랫폼으로, 리소스를 파일 시스템 데이터베이스 또는 SQL 데이터베이스 중 하나로 저장할 수 있다. 이번에 공개된 취약점 두 건은 각각 저장 방식과 API 인가 체제의 경계에서 발생한다.
- 파일 시스템 경로 순회 (GHSA-vr5f-w35q-98jp): 파일 시스템 데이터베이스 사용 시 list 엔드포인트의 project 값이 디렉터리 순회 문자에 대해 검증되지 않아 서버 호스트의 임의 YAML/JSON 파일 읽기와 파일 데이터베이스 내 다른 리소스에 대한 보안 제약 우회가 가능하다.
- 데이터소스 프록시 인가 누락 (CVE-2026-63199, GHSA-4227-9989-jrhx): 데이터소스 프록시에서 인가가 누락되어 공격자가 자신이 제어하는 Datasource를 생성하면 Perses가 전송하는 내용을 읽을 수 있고, 여기에는 평문 시크릿이 포함된다. project-scope 버전은 같은 효과를 해당 프로젝트 범위 내에서 재현한다.
두 취약점은 Perses 공식 advisory와 GitHub Advisory Database에 각각 등록되어 있다.
영향 범위
다음 환경과 리소스가 직접적인 점검 대상에 포함된다.
- 파일 시스템 데이터베이스를 사용하는 Perses 운영 환경 (list 엔드포인트의 project 값 경유 요청)
- 파일 시스템 데이터베이스에 저장된 YAML/JSON 리소스 파일
- 다른 프로젝트 리소스, project-scope 경계 내 리소스
- Datasource 프록시를 통해 Perses가 전송하는 요청/응답에 평문으로 포함될 수 있는 시크릿
파일 시스템 데이터베이스를 사용하는 환경은 경로 순회 취약점의 직접적 대상이다. 데이터소스 프록시 인가 누락은 project-scope 경계 내에서도 동일한 시크릿 노출을 재현한다.
기술적 분석
파일 시스템 경로 순회 메커니즘
Perses가 파일 시스템 데이터베이스를 사용할 때, list 엔드포인트에서 요청의 project 값은 리소스 Query 구조체에 그대로 바인딩된다. validation/Flatten 검증은 Create/Update 본문에서만 실행되고 list 요청에는 적용되지 않기 때문에, project 값에 포함된 경로 순회 문자(../ 형태)가 차단되지 않는다. 그 결과 공격자는 서버 호스트의 임의 YAML/JSON 파일을 읽고, 파일 데이터베이스에 포함된 다른 리소스에 대한 보안 제약도 우회할 수 있다.
이 구조는 입력이 저장 경로에 직접 매핑되는데 검증 단계가 일부 경로에만 적용되는 패턴이다. list 엔드포인트가 read-only라는 인식이 검증 적용을 건너뛰게 만든 것으로 보이며, read 경로의 입력이 저장 경로에 영향을 미친다는 점을 간과한 결과로 읽힌다.
데이터소스 프록시 인가 누락 메커니즘
데이터소스 프록시에서 인가 검증이 누락되어 있으면, 공격자가 자신이 제어하는 Datasource를 생성한 뒤 Perses가 해당 Datasource로 전송하는 내용을 읽을 수 있다. 전송 내용에는 시크릿이 평문으로 포함되므로, 권한이 부여되지 않은 상태에서 시크릿에 접근할 수 있다. project-scope 버전은 동일한 효과를 해당 프로젝트 범위 내에서 재현한다.
GitHub Advisory Database의 해당 취약점 항목은 "missing authorization in datasource proxy"로 분류하며, cross-scope secret disclosure로 영향 범위를 설명한다.
수정 내용
fix commit 75e5471은 list 핸들러에서 project 쿼리 파라미터를 검증하도록 변경한 수정 커밋이다. v0.54.0-rc.0 릴리스 노트에도 경로 순회 취약점의 SECURITY 항목이 포함돼 있으며, 해당 항목은 CVE-2026-63199와 다른 커밋 해시를 연결해 표기한다. 릴리스 노트에서 이 경로 순회 SECURITY 항목과 결속시키는 커밋은 commit 75e5471이 아니므로, 이 글에서는 commit 75e5471이 특정 릴리스에 포함됐는지를 단정하지 않으며, 경로 순회 취약점의 개별 CVE 번호 역시 단정하지 않는다.
분석 한계
- 파일 시스템 경로 순회 취약점(GHSA-vr5f-w35q-98jp)에 대한 개별 CVE 번호와 CVSS 심각도 점수는 제공된 근거에 명시되어 있지 않아 확정하지 않는다.
- CISA KEV 등재 여부는 확인되지 않았다.
- 데이터소스 프록시 취약점의 상세 패치 범위(proxy 외 항목)는 제공된 인용이 불완전하여 전체적 적용 범위는 확정하지 않는다.
- 공개 PoC와 in-the-wild 악용 증거는 확인되지 않았으며, 이는 검증되지 않은 상태임을 명시한다.
- 개별 CVE 번호, CVSS 점수, KEV 등재 여부 없이 취약점 구조와 vendor advisory의 영향 설명만으로 운영 우선순위를 판단해야 한다는 점도 한계다.
대응 방안
즉시 조치
- 파일 시스템 데이터베이스 사용을 중단하고 SQL 데이터베이스로 전환: vendor advisory가 "운영에서 파일 시스템 데이터베이스 사용을 피하고 SQL 데이터베이스를 사용할 것"을 권장하는 우회 조치로, 파일 시스템 데이터베이스를 사용 중인 운영 환경에서는 우선적으로 적용해야 한다.
- 경로 순회 수정 포함 여부 확인: commit 75e5471이 list 핸들러의 project 쿼리 파라미터 검증을 추가한 수정 커밋이므로, 운영 중인 Perses에 이 검증을 포함하는지 확인하고 포함되지 않았다면 업그레이드를 검토할 수 있다. 릴리스 노트가 특정 커밋과 릴리스 버전의 포함 관계를 단정할 수 없는 한, 업그레이드 대상으로의 결속은 추가 근거 확인이 필요하다.
지속적 개선
- 파일 시스템 데이터베이스를 운영에서 사용하지 않도록 아키텍처에서 SQL 데이터베이스 채택을 기본값으로 전환한다.
- 경로 순회 수정(커밋 75e5471)을 포함하는 Perses 릴리스로의 업그레이드를 검토하고, 릴리스 노트의 SECURITY 항목을 기준으로 포함 여부를 확인한다.
참고자료
- Unvalidated project parameter enables filesystem path traversal (GHSA-vr5f-w35q-98jp)
- Fix commit 75e5471: validate project query parameter in list handler
- Perses v0.54.0-rc.0 release notes: security fixes
- GHSA-4227-9989-jrhx impact: datasource proxy secret disclosure, project-scoped variant, patch
함께 읽으면 좋은 글
- Unbound DNSSEC 검증기 CVE-2026-81642: 악성 DNS 존 기반 RCE 가능성과 1.26.1 업데이트 점검
- Transparent Tribe(APT36)의 RapidRust: 사설 GitHub C2를 쓰는 Rust 백도어 캠페인 분석
- CVE-2026-39364 대규모 스캔 캠페인 — 노출된 Vite 개발 서버로 클라우드 자격증명 유출
본 콘텐츠는 AI 기술로 작성된 분석 리포트를 포함하고 있습니다. 내용 중 사실과 다르거나 보완이 필요한 정보를 발견하셨으면 댓글을 통해 의견을 부탁드립니다. 여러분의 피드백은 더 정확한 보안 정보 공유에 큰 도움이 됩니다.
댓글 (0)
댓글을 작성하려면 로그인이 필요합니다.
로그인아직 댓글이 없습니다.
첫 번째 댓글을 작성해보세요!