Gli utenti non nei gruppi consentiti per i post multimediali incorporati possono aggirare la restrizione di caricamento copiando il link dell'immagine caricata

Passaggi per Riprodurre

  1. Imposta Newuser max embedded media = 0
    • Questo impedisce correttamente ai nuovi utenti di caricare immagini prima di averle caricate :white_check_mark:
  2. Configura Embedded media post allowed groups
    • Escludi determinati gruppi dall’elenco consentito
    • Quando un utente non appartenente ai gruppi consentiti carica un’immagine:
      • L’immagine può apparire nell’editor
      • Solo al momento dell’invio del post viene bloccata :cross_mark:
  3. Problema
    • Durante la modifica, l’utente può copiare il link dell’immagine caricata per aggirare la restrizione di caricamento e pubblicarla

Comportamento Atteso

Il nostro obiettivo è impedire agli utenti di caricare immagini. Gli utenti non appartenenti ai gruppi consentiti non dovrebbero essere in grado di inserire alcun media incorporato nell’editor, in quanto dovrebbe bloccare i caricamenti al momento del caricamento, proprio come quando viene applicato Newuser max embedded media = 0.

Altrimenti, possono copiare il link dell’immagine caricata e aggirare di fatto la restrizione per caricarla.

Non so se questo sia un problema nuovo, ma l’abbiamo notato anche noi:

Sembra che il caricamento dell’immagine nel bucket S3 (cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com) avvenga non appena l’immagine viene incollata. Il controllo dell’incorporamento non avviene fino all’invio del post, ma a quel punto l’immagine esiste già nel bucket e può essere collegata tramite uno qualsiasi dei seguenti:

  • Il suo URL S3
  • Il suo URL breve di Discourse
  • Il suo URL generato upload:// (ovvero, semplicemente rimuovendo il ! dall’inizio del codice di incorporamento di caricamento autogenerato)

Temo che ciò significhi che anche gli incorporamenti falliti (cioè i tentativi di caricamento che sono stati successivamente negati) siano stati comunque caricati nel bucket e stiano contando segretamente ai fini della quota di archiviazione del sito anche se l’utente che ha caricato pensava che fosse stato negato e nessun altro può vedere il caricamento.

Purtroppo, questo bug sembra essere rimasto irrisolto per parecchio tempo.