🇰🇷 한글 설명
pgAdmin 4의 브라우저 트리와 Explain 시각화 모듈에서 발생하는 저장된 크로스사이트 스크립팅(XSS) 취약점입니다. 사용자 제어 PostgreSQL 객체 이름이 innerHTML을 통해 DOM에 할당되어, 악의적 HTML 마크업이 포함된 객체 이름으로 인해 해당 객체를 조회하는 사용자의 브라우저에서 공격자의 JavaScript가 실행됩니다.
💡 쉬운 설명
pgAdmin에서 데이터베이스 객체 이름을 표시할 때 악의적인 코드가 함께 실행될 수 있는 보안 결함입니다. 공격자가 특수 기호를 포함한 객체 이름을 만들면 그것을 보는 모든 사용자의 컴퓨터에서 악성 스크립트가 자동 실행됩니다.
🇺🇸 원문 (English)
Stored cross-site scripting (XSS) vulnerability in pgAdmin 4 Browser Tree and Explain Visualizer modules.
User-controlled PostgreSQL object names (database, schema, table, column, etc.) were assigned to DOM elements via innerHTML, allowing crafted object names containing HTML markup to execute attacker-supplied JavaScript in the browser of any pgAdmin user who navigated to or executed EXPLAIN over the malicious object.
Fix replaces innerHTML with textContent.
This issue affects pgAdmin 4: before 9.15.
📍 영향받는 시스템
pgAdmin 4 버전 9.15 미만
⚔️ 공격 벡터
PostgreSQL 객체 이름에 악의적 HTML/JavaScript 코드 삽입 후 다른 사용자의 접근 유도
🛡️ 대응 방법
pgAdmin 4를 버전 9.15 이상으로 업그레이드
🔧 검증 코드
출력된 버전 번호가 9.15 이상이면 안전, 미만이면 업그레이드 필요
dpkg -l pgadmin4 2>/dev/null | tail -1 | awk '{print $3}'