Nextcloud 35.0.0 — un destinatario di condivisione con permessi di modifica del calendario può pubblicare il calendario del proprietario su un URL non autenticato
abraxaslabs.tech · github.com/abraxas · @abraxas_null · [email protected] · nextcloud-calendar-sharee-publish
Nextcloud Server 35.0.0 - Nextcloud GmbH
Il PublishPlugin di CalDAV controlla solo {DAV:}write. Il limite del proprietario limitAddressBookAndCalendarSharingToOwner è impostato per impostazione predefinita su no. Un collega a cui hai dato modifica su un calendario può pubblicarlo. Chiunque abbia l'URL segreto legge i tuoi eventi non-PRIVATE senza effettuare l'accesso.
Un malintenzionato con permessi di modifica sul tuo calendario può trasformarlo in un URL pubblico. Chiunque abbia quell'URL può leggere le tue riunioni e i partecipanti senza effettuare l'accesso.
| ID | nessuna CVE al momento |
| CWE | CWE-284, CWE-862 |
| CVSS | Alto: 6.5 CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N |
| Prodotto | Nextcloud Server |
| Affetto | 35.0.0 (da02f41) ufficiale nextcloud:35.0.0-apache |
| Auth | write-sharee, poi lettura pubblica non autenticata |
| Licenza | GNU Affero GPL v3.0 |
| Lab | solo 127.0.0.1 |
Condividi un calendario con un collega con permesso can edit. Quel collega invia publish-calendar. Nextcloud genera un URL pubblico del calendario.
Poi:
PRIVATE)La ricondivisione del calendario è vietata. La pubblicazione no. La configurazione del limite del proprietario esiste ed è disattivata per impostazione predefinita.
PublishPlugin controlla {DAV:}write, poi dav / limitAddressBookAndCalendarSharingToOwner, che per impostazione predefinita è no. Calendar::updateShares vieta la ricondivisione quando isShared(). La pubblicazione è un verbo diverso. L'ACL di scrittura concede comunque {DAV:}write a un destinatario con permesso di modifica.
Ho avviato l'immagine ufficiale nextcloud:35.0.0-apache. Calendario del proprietario labcal con un evento non-PRIVATE con SUMMARY NEXTCLOUD-CAL-SHAREE-PUBLISH-WITNESS.
Prima ho inviato MKCALENDAR. Sabre ha risposto 405 MethodNotAllowed. Ho comunque inviato il VEVENT con PUT. 201. Il calendario c'era. Il verbo di creazione della collezione era la porta sbagliata, non la casa sbagliata.
Condivisione in lettura-scrittura con sharee. Il POST CS:publish-calendar di sharee ha restituito 202. La PROPFIND non autenticata sull'URL pubblico conteneva il witness.
cd lab
./run.sh
Target solo http://127.0.0.1:18344.
SUCCESS NEXTCLOUD-CAL-SHAREE-PUBLISH who=write-sharee unauth-read=yes NEXTCLOUD-CAL-SHAREE-PUBLISH-WITNESS
Richiedere il principal del proprietario per la pubblicazione, oppure attivare per impostazione predefinita il limite del proprietario e negare comunque la pubblicazione per i calendari isShared(). La ricondivisione è già vietata. La pubblicazione dovrebbe seguirla.
GNU Affero GPL v3.0. Vedi LICENSE. Solo lab su loopback. Nessuna garanzia.