### Summary - 現在、一部のAPIのresponseに、各userの内部id (databaseのuser.id) が含まれているものがある - これにより、一定のセキュリティ低下の影響がある - 対象バージョン - barebone-studio v2.4.0, およびその fork repositories ### Countermeasure #### 対応方針(暫定対策) 1. 外部公開(認証外)のページについては、基本的に user.id は公開しない - issue報告時点(barebone-studio v2.4.0相当)では、これに該当する箇所はない 2. HTTP request/response header のような、APIのベースとなる部分では、user.id は使用しない - issue報告時点(barebone-studio v2.4.0相当)では、これに該当する箇所はない 3. 管理者以外には、自身以外のuser.id は公開しないようにする - 現在、管理者以外で、他人の user.id が見えている可能性のある箇所 - Workspacesのshare関連(share先userの検索、shareされたworkspaceの所有者情報) - 現在、自分自身の user.id が見えている箇所 > - routers/ > - registration.py > - user_admin.py > - user_me.py > - workspaces - Note: 該当箇所の検索条件 - router の response が `response_model=User (studio.app.common.schemas.users.User)` の箇所 - router の response に `List["User"] = Relationship` が指定された model を含む箇所 ##### 対応方針(恒久対策) - 恒久対策は、「user.id ではない、別のidを用意する」といった対応が想定されるが、一定の改修コストは想定される ※対応範囲や対応の要否を要検討 ### Tasks - [ ] 1. 暫定対策の実施 - [ ] 2. 恒久対策の実施
Summary
現在、一部のAPIのresponseに、各userの内部id (databaseのuser.id) が含まれているものがある
これにより、一定のセキュリティ低下の影響がある
対象バージョン
Countermeasure
対応方針(暫定対策)
response_model=User (studio.app.common.schemas.users.User)の箇所List["User"] = Relationshipが指定された model を含む箇所対応方針(恒久対策)
※対応範囲や対応の要否を要検討
Tasks