🇰🇷 한글 설명
Penpot 2.18.0 미만 버전에서 인증되지 않은 get-view-only-bundle RPC 호출 시, 권한이 제한된 공유 링크를 가진 사용자라도 파일 내 모든 공유 링크 정보를 반환하는 취약점이 존재합니다. 공격자는 이를 통해 다른 링크의 비밀 ID와 권한 정보를 탈취한 후, 더 높은 권한의 토큰을 재사용하여 접근이 제한된 페이지 데이터에 접근할 수 있습니다.
💡 쉬운 설명
제한된 권한만 가진 링크를 사용하더라도, 시스템 오류로 인해 해당 파일에 연결된 다른 모든 비밀 링크 정보가 노출되는 문제입니다. 공격자는 노출된 정보를 이용해 원래 볼 수 없었던 디자인 데이터까지 몰래 볼 수 있습니다.
🇺🇸 원문 (English)
Penpot is an open-source design and prototyping platform. Prior to 2.18.0, the unauthenticated get-view-only-bundle RPC returns every share-link row for a file even when the caller authenticated with only one scoped share link. A holder of a restrictive link can obtain other links' secret IDs, page scopes, comment permissions, and inspection permissions, then replay a more permissive token to access page data that was not included in the original share. This issue is fixed in version 2.18.0.
📍 영향받는 시스템
Penpot 2.18.0 미만 모든 버전
⚔️ 공격 벡터
제한된 공유 링크를 이용한 RPC 호출을 통한 정보 노출 및 권한 상승
🛡️ 대응 방법
Penpot를 최신 버전인 2.18.0 이상으로 업데이트하십시오.
🔧 검증 코드
명령어 실행 결과로 본인의 권한 범위를 벗어난 다른 share-link의 secretId나 정보가 출력된다면 취약한 상태입니다.
curl -s http://<target-ip>/api/rpc/get-view-only-bundle | grep -E 'secretId|pageScope'