🇰🇷 한글 설명
Wekan의 9.57 버전부터 9.74 버전 사이에서 /api/boards/:boardId/exportExcel 경로의 권한 검증 로직에 결함이 발견되었습니다. 비동기 권한 확인 함수를 기다리지(await) 않고 실행하여, 인증된 사용자라면 권한이 없는 비공개 보드의 엑셀 데이터를 다운로드할 수 있는 취약점입니다.
💡 쉬운 설명
로그인만 되어 있다면 다른 사람이 만든 비밀 게시판의 내용을 엑셀 파일로 몰래 내려받을 수 있는 보안 구멍이 있었습니다. 권한을 확인하는 과정에서 컴퓨터가 확인을 끝내기도 전에 다음 단계로 넘어가버리는 실수가 발생한 것입니다.
🇺🇸 원문 (English)
Wekan is open source kanban built with Meteor. From 9.57 until 9.74, the /api/boards/:boardId/exportExcel route in models/exportExcel.js called the asynchronous exporterExcel.canExport(user) authorization guard from models/server/ExporterExcel.js without awaiting it. The returned Promise was always truthy, so exporterExcel.build(res) ran even when board.isVisibleBy(user) would deny access, allowing any authenticated non-member to download private board card titles, descriptions, lists, swimlanes, members, and metadata. This issue is fixed in version 9.74.
📍 영향받는 시스템
Wekan versions 9.57 to 9.74
⚔️ 공격 벡터
인증된 사용자가 권한이 없는 보드의 ID를 이용해 엑셀 내보내기 API 엔드포인트에 요청을 보냄
🛡️ 대응 방법
Wekan을 최신 버전인 9.74 이상으로 업데이트하십시오.
🔧 검증 코드
명령어 결과에 취약한 버전 범위(9.57~9.74)가 나타나면 해당 시스템은 보안에 취약한 상태입니다.
curl -s http://<target-ip>/api/version | grep -E '9\.(5[7-9]|6[0-9]|7[0-4])'