🔍 CVE-2026-78391

0.0
CVSS Score
UNKNOWN
2026-08-24
2026-10-14 13:10
✅ 완료

🇰🇷 한글 설명

RansomLook의 암호화폐 지갑 상세 보기 화면에서 저장형 XSS 취약점이 발견되었습니다. 외부 소스에서 가져온 암호화폐 주소와 블록체인 이름이 적절한 검증 없이 인라인 JavaScript onclick 핸들러에 직접 삽입되어 발생합니다. 공격자는 특수하게 조작된 주소를 통해 사용자가 CSV 내보내기 버튼을 클릭할 때 임의의 자바스크립트를 실행할 수 있습니다.

💡 쉬운 설명

악성 코드가 포함된 암호화폐 주소가 시스템에 저장되어, 사용자가 특정 버튼을 누르는 순간 해커의 명령이 실행될 수 있는 보안 약점입니다. 이를 통해 해커가 사용자의 정보를 훔치거나 권한을 도용할 위험이 있습니다.

🇺🇸 원문 (English)

RansomLook contains a stored cross-site scripting (XSS) vulnerability in the cryptocurrency wallet detail view. Cryptocurrency addresses and blockchain names originating from external sources, including the public crowd-sourced ransomwhe.re feed, were stored without sufficient validation and later embedded directly into an inline JavaScript onclick handler. Although Jinja HTML autoescaping was applied, it does not provide adequate protection when untrusted data is inserted into a JavaScript string inside an HTML attribute. HTML entities such as ' are decoded by the browser's HTML parser before the resulting attribute is interpreted as JavaScript. Consequently, a specially crafted cryptocurrency address containing quote characters and JavaScript syntax could escape the intended string literal and execute arbitrary JavaScript when a user clicked the affected wallet's CSV export button. Because cryptocurrency information imported from an untrusted upstream could reach the vulnerable rendering path, exploitation may not require an authenticated RansomLook account if an attacker can introduce a malicious wallet record into a consumed external data source. Successful exploitation could allow attacker-controlled JavaScript to execute in the security context of the RansomLook web application, potentially exposing information accessible to the victim or performing actions with the victim's privileges. The patch mitigates the issue by validating cryptocurrency addresses and blockchain identifiers before storage, restricting them to a safe character set, and replacing the inline JavaScript handler with data-* attributes and an external event listener so wallet values are treated strictly as data rather than executable JavaScript.

📍 영향받는 시스템

RansomLook (cryptocurrency wallet detail view 기능 포함 버전)

⚔️ 공격 벡터

외부 데이터 소스(ransomwhe.re 피드 등)를 통해 조작된 암호화폐 주소를 삽입하여 사용자의 클릭을 유도하는 방식

🛡️ 대응 방법

암호화폐 주소 및 블록체인 식별자에 대한 입력값 검증을 실시하고, 인라인 JavaScript 핸들러를 data-* 속성과 외부 이벤트 리스너 방식으로 교체해야 합니다.

🔧 검증 코드

결과값에 외부 입력 데이터가 포함된 onclick 속성이 나타나면 취약한 상태이며, data-* 속성으로 대체되었다면 안전합니다.

Shell / Script
curl -s http://<target-url>/wallet/detail/view | grep -E 'onclick=['"']

💻 영향받는 소프트웨어

Spring Data REST