Potentiële bronuitputting: geen snelheidsbeperking op /uploads.json staat massale bestandsuploads toe

Probleembeschrijving

Tijdens een beveiligingsbeoordeling van onze aangepaste Discourse-implementatie hebben we een potentieel risico op uitputting van bronnen ontdekt met betrekking tot de API voor het uploaden van bestanden.

Details

  • Upload API: /uploads.json

  • Probleem: Er lijkt geen snelheidsbeperking (rate limiting) te zijn op dit eindpunt. Elke geauthenticeerde gebruiker kan snel een groot aantal bestanden uploaden.

  • Reproductie:

    • Door verzoeken te automatiseren, kan een gebruiker duizenden uploadverzoeken in korte tijd versturen.

    • We hebben geverifieerd dat na het versturen van duizenden uploadverzoeken, de opslagmap duizenden bestanden bevat.

Beveiligings-/Resource-impact

  • Aanvallers of zelfs normale gebruikers kunnen de serveropslag uitputten, de prestaties verslechteren of operationele problemen veroorzaken door een enorm aantal bestanden te uploaden.

  • Dit kan potentieel worden misbruikt voor denial-of-service of om de opslagkosten onverwacht te verhogen.

Vragen

  • Is er ingebouwde snelheidsbeperking of misbruikpreventie voor het /uploads.json eindpunt in Discourse?

  • Zijn er aanbevolen instellingen of plugins om de uploadfrequentie van gebruikers of het totale opslaggebruik per gebruiker te beperken?

  • Zijn er best practices om uitputting van bronnen veroorzaakt door het uploaden van bestanden in Discourse-implementaties te voorkomen?

Bedankt voor uw aandacht en advies!