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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
CVE-2026-30691 — CVE-2026-30691: @cyntler/react-doc-viewer의 저장형 크로스 사이트 스크립팅(XSS) | Kitploit
도구/GitHubGitHub/walidriouah/cve-2026-30691
Vulnerability AnalysisWeb Application ExploitationWeb SecurityPapers & ResearchLearning & Education
GitHubwalidriouah/cve-2026-30691

CVE-2026-30691

CVE-2026-30691: @cyntler/react-doc-viewer의 저장형 크로스 사이트 스크립팅(XSS)

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

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

CVE-2026-30691 - 취약점 권고

CVE-2026-30691에 대한 공식 MITRE 취약점 기록 세부 정보 및 기술 문서


root@kitploit:~

-----BEGIN PGP SIGNED MESSAGE----- 
Hash: SHA256

[제안된 설명] 
@cyntler/react-doc-viewer v1.17.1의 교차 사이트 스크립팅(XSS) 취약점으로 인해 원격 공격자가 조작된 .txt 파일을 통해 임의의 JavaScript를 실행할 수 있습니다. TXTRenderer 구성 요소는 파일 콘텐츠를 처리하지 않고 원시 데이터를 ReactNode로 명시적으로 캐스팅합니다.

[추가 정보] 
"TXTRenderer는 모든 텍스트 기반 파일에 기본적으로 사용됩니다. 이 라이브러리는 사용자가 업로드한 콘텐츠를 미리 보기 위해 React 애플리케이션에서 널리 사용되므로, 이 취약점은 뷰어에 파일 콘텐츠를 전달하기 전에 파일 콘텐츠를 엄격하게 검증하지 않는 애플리케이션에 심각한 위험을 초래합니다."

[취약점 유형] 교차 사이트 스크립팅(XSS)
[제품 공급업체] cyntler
[영향 받는 제품 코드 베이스] @cyntler/react-doc-viewer - 1.17.1
[영향 받는 구성 요소] src/renderers/txt/index.tsx
[공격 유형] 원격
[코드 실행 영향] true
[정보 공개 영향] true

[공격 벡터] 
"공격자는 악성 HTML 또는 JavaScript 코드가 포함된 특수하게 조작된 .txt 파일을 제공해야 합니다. 피해자가 DocViewer 구성 요소를 사용하여 이 파일을 열면 브라우저에서 스크립트가 실행됩니다."

[참고 자료] https://github.com/cyntler/react-doc-viewer/issues/317
[발견자] Walid Riouah

CVE-2026-30691을 사용하십시오.

-----BEGIN PGP SIGNATURE-----
-----END PGP SIGNATURE-----

🛠️ 상세 기술 컨텍스트

📝 설명

@cyntler/react-doc-viewer 패키지(v1.17.1)에서 저장형 교차 사이트 스크립팅(XSS) 취약점이 확인되었습니다. 이 취약점은 TXTRenderer 구성 요소에 존재하며, .txt 파일의 원시 파일 콘텐츠를 사전 처리나 엔티티 이스케이프 없이 명시적으로 ReactNode로 캐스팅하여 렌더링합니다.


💻 취약한 코드

src/renderers/txt/index.tsx 내:

root@kitploit:~

{currentDocument?.fileData as ReactNode}

🔬 개념 증명(PoC)

취약점을 재현하려면 다음 명시적 스크립트 페이로드가 포함된 exploit.txt 파일을 생성하고 문서 뷰어 구성 요소에 로드하십시오:

root@kitploit:~

<h1 style="color: red;">Vulnerable!</h1>
<script>alert('XSS_SUCCESS'); document.body.style.background='red';</script>
<img src=x onerror="console.log('XSS_Executed_Successfully')">

🎯 영향

공격자는 피해자 브라우저 컨텍스트에서 임의의 JavaScript를 실행할 수 있습니다. 이로 인해 다음과 같은 결과가 발생할 수 있습니다:

  • 세션 하이재킹: 클라이언트 측 쿠키/로컬 스토리지 데이터 도용을 통해.
  • 권한 없는 작업: 인증된 사용자 세션을 대신하여 수행.
  • 애플리케이션 변조: 및 플랫폼 사용자를 대상으로 한 다운스트림 피싱 공격.

🛡️ 권장 수정

렌더링 전에 DOMPurify와 같은 HTML 처리 라이브러리를 사용하여 동적 텍스트 입력을 처리하거나, 원시 문자열 입력을 ReactNode 객체로 안전하지 않게 캐스팅하지 마십시오:

root@kitploit:~

import DOMPurify from 'dompurify';

const sanitizedHTML = DOMPurify.sanitize(currentDocument?.fileData);
return <div dangerouslySetInnerHTML={{ __html: sanitizedHTML }} />;

본 권고는 Walid Riouah(사이버 보안 연구원 및 레드 팀원)가 작성하였습니다.

도구 다운로드