🇰🇷 한글 설명
Pandora의 URL 관측값(observable) 렌더링 과정에서 저장형 XSS 취약점이 존재합니다. 'Submit to Lookyloo' 동작의 인라인 JavaScript onclick 핸들러에 URL 값이 직접 삽입되어, HTML 이스케이프만으로는 JavaScript 문자열을 빠져나가는 조작된 URL을 막을 수 없었습니다. 패치는 해당 값을 data-url 속성으로 옮기고 dataset API로 읽도록 변경하며, innerHTML도 textContent로 교체했습니다.
💡 쉬운 설명
악의적으로 만든 웹 주소가 Pandora 화면에 저장되어, 사용자가 특정 버튼을 누르면 숨은 스크립트가 실행될 수 있는 문제입니다. 피해자의 로그인된 세션을 이용해 공격자가 작업을 수행할 수 있습니다.
🇺🇸 원문 (English)
Pandora contains a stored cross-site scripting (XSS) vulnerability in the rendering of URL observables. A URL extracted from or associated with an analyzed file was inserted directly into the inline JavaScript onclick handler used by the Submit to Lookyloo action.
Although the value was subject to HTML escaping by the template engine, it was embedded inside a JavaScript string within an HTML attribute. An attacker-controlled URL containing specially crafted characters could therefore break out of the JavaScript string and inject arbitrary JavaScript code.
The malicious script would execute in the context of the Pandora web application when a victim interacts with the affected Submit to Lookyloo control. Successful exploitation could allow an attacker to access information available to the victim's browser or perform actions using the victim's authenticated Pandora session.
The patch removes the observable value from the inline JavaScript handler. The URL is instead stored in an HTML data-url attribute and retrieved through the DOM dataset API when needed. Additional uses of innerHTML were also replaced with textContent as defensive hardening.
📍 영향받는 시스템
Pandora (패치 이전 버전, 정확한 영향 버전 범위는 공식 권고문 확인 필요)
⚔️ 공격 벡터
공격자가 조작된 URL을 분석 대상 파일/관측값에 포함시키고, 피해자가 Submit to Lookyloo 버튼을 클릭하면 악성 스크립트가 실행됨
🛡️ 대응 방법
패치된 최신 Pandora 버전으로 업데이트하고 벤더 권고를 따름
🔧 검증 코드
출력된 버전이 패치 적용 버전 이상이면 수정된 것이며, 이전 버전이면 업데이트가 필요하고, 명령이 실패하면 설치 경로를 직접 확인해야 합니다.
pandora_console -v 2>/dev/null || grep -rhoE 'version[^,]*' /var/www/html/pandora_console/pandoradb.sql 2>/dev/null | head -1