Nextcloud 35.0.0 — カレンダーの編集共有者が、所有者のカレンダーを認証不要のURLで公開できる
abraxaslabs.tech · github.com/abraxas · @abraxas_null · [email protected] · nextcloud-calendar-sharee-publish
Nextcloud Server 35.0.0 - Nextcloud GmbH
CalDAV PublishPlugin は {DAV:}write のみをチェックする。オーナー制限 limitAddressBookAndCalendarSharingToOwner のデフォルトは no。カレンダーに 編集 権限を与えた同僚が、そのカレンダーを公開できる。秘密 URL を知っている者は誰でも、ログインなしで非 PRIVATE イベントを読める。
あなたのカレンダーに編集権限を持つ悪意ある人物が、それを公開 URL に変えることができる。その URL を持つ者は誰でも、ログインせずにあなたの会議と参加者を読める。
| ID | CVE 未採番 |
| CWE | CWE-284, CWE-862 |
| CVSS | High: 6.5 CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N |
| 製品 | Nextcloud Server |
| 影響を受けるバージョン | 35.0.0 (da02f41) 公式 nextcloud:35.0.0-apache |
| 認証 | write-sharee、その後は未認証の公開読み取り |
| ライセンス | GNU Affero GPL v3.0 |
| ラボ | 127.0.0.1 のみ |
あなたがカレンダーを同僚に 編集可能 として共有する。その同僚が publish-calendar を送信する。Nextcloud が公開カレンダー URL を発行する。
その後:
PRIVATE オブジェクト) が見えるカレンダーの再共有は禁止されている。公開は禁止されていない。オーナー制限の設定は存在し、デフォルトでは オフ である。
PublishPlugin は {DAV:}write をチェックし、次に dav / limitAddressBookAndCalendarSharingToOwner をチェックするが、これはデフォルトで no である。Calendar::updateShares は isShared() の場合に 再共有 を禁止する。公開は別の動詞である。書き込み ACL は編集共有相手に依然として {DAV:}write を付与する。
公式の nextcloud:35.0.0-apache を立ち上げた。オーナーのカレンダー labcal に、非 PRIVATE イベント SUMMARY NEXTCLOUD-CAL-SHAREE-PUBLISH-WITNESS を用意した。
まず MKCALENDAR を送信した。Sabre は 405 MethodNotAllowed を返した。それでも VEVENT を PUT した。201。カレンダーはそこにあった。コレクション作成の動詞は間違った扉であり、間違った家ではなかった。
sharee に読み書き可能で共有した。sharee の POST CS:publish-calendar は 202 を返した。公開 URL への未認証 PROPFIND に witness が含まれていた。
cd lab
./run.sh
対象は http://127.0.0.1:18344 のみ。
SUCCESS NEXTCLOUD-CAL-SHAREE-PUBLISH who=write-sharee unauth-read=yes NEXTCLOUD-CAL-SHAREE-PUBLISH-WITNESS
公開にはオーナープリンシパルを要求するか、オーナー制限をデフォルトでオンにし、かつ isShared() カレンダーの公開を依然として拒否する。再共有はすでに禁止されている。公開もそれに従うべきである。
GNU Affero GPL v3.0。LICENSE を参照。ループバックラボのみ。無保証。