🇰🇷 한글 설명
Grist 스프레드시트 소프트웨어 1.7.15 미만 버전에서 사용자 제어 값이 적절히 이스케이프되지 않아 발생하는 교차 사이트 스크립팅(XSS) 취약점입니다. 공격자는 문서 이름, 설명 또는 OAuth2 파라미터를 통해 악성 스크립트를 삽입하여 사용자의 세션을 탈취하거나 데이터 및 공유 설정을 조작할 수 있습니다.
💡 쉬운 설명
스프레드시트의 이름이나 설명 칸에 악성 코드를 숨겨 넣어 다른 사용자의 계정을 조작할 수 있는 보안 약점입니다. 이를 통해 공격자가 문서의 권한을 가로채거나 중요한 데이터를 몰래 수정할 수 있습니다.
🇺🇸 원문 (English)
Grist is spreadsheet software using Python as its formula language. Prior to 1.7.15, several server-rendered Grist pages embedded user-controlled values into the page and into inline scripts without fully escaping them, allowing cross-site scripting. On the main application page, a document's name or description, set by a document editor, is rendered into the page that other users load when opening the document. On the OAuth2 end-of-flow page, the openerOrigin request parameter was reflected back into the served page. Injected script runs in the victim's Grist origin and can act through the authenticated session, reading or modifying data and changing sharing settings and access rules. A document editor could therefore escalate to owner-level access. This issue is fixed in version 1.7.15.
📍 영향받는 시스템
Grist versions prior to 1.7.15
⚔️ 공격 벡터
문서 이름/설명 또는 OAuth2 openerOrigin 파라미터에 악성 스크립트 삽입
🛡️ 대응 방법
Grist를 최신 버전인 1.7.15 이상으로 업데이트하십시오.
🔧 검증 코드
출력 결과에 1.7.15 이상의 버전 번호가 포함되어 있으면 안전합니다.
curl -s http://<grist-server-url>/api/version | grep -E '1.7.15'