🇰🇷 한글 설명
Ghostfolio의 특정 API 엔드포인트가 Impersonation-Id 헤더 처리 시 Access.permissions 필드를 제대로 검증하지 못하는 취약점입니다. 이로 인해 읽기 전용 권한만 가진 사용자가 포트폴리오 보유 자산의 태그를 수정할 수 있어 데이터 무결성이 훼손될 수 있습니다.
💡 쉬운 설명
읽기 권한만 있는 사용자가 시스템의 허점을 이용해 자산의 태그를 마음대로 바꾸는 문제입니다. 이로 인해 자산 분류가 엉망이 되거나 보고서 내용이 잘못될 수 있습니다.
🇺🇸 원문 (English)
Ghostfolio's PUT /api/v1/portfolio/holding/:dataSource/:symbol/tags endpoint fails to verify Access.permissions field when processing the Impersonation-Id header, allowing read-only access grantees to modify portfolio holding tags. Attackers with valid read-only share tokens can assign or remove tags on victim holdings, corrupting portfolio categorization and reports.
📍 영향받는 시스템
Ghostfolio (특정 버전 미상, API 엔드포인트 취약)
⚔️ 공격 벡터
유효한 읽기 전용 토큰을 사용하여 Impersonation-Id 헤더를 포함한 PUT 요청 전송
🛡️ 대응 방법
API 엔드포인트에서 Impersonation-Id 헤더 사용 시 Access.permissions 필드에 대한 권한 검증 로직을 강화하고 패치 적용
🔧 검증 코드
명령어 실행 후 200 OK 또는 204 No Content가 반환되면 권한 검증 실패로 취약한 상태임
curl -i -X PUT -H 'Impersonation-Id: victim-id' -H 'Authorization: Bearer read-only-token' https://<target>/api/v1/portfolio/holding/<dataSource>/<symbol>/tags
📊 CVSS Vector String
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:L/A:N
💻 영향받는 소프트웨어
IBM Security Verify Access