Sidekiq leaking information across multisite


(Michael - DiscourseHosting.com) #1

When working on ‘title’ being used in digest we noticed that two other users on the same multisite host reported that email delivery was having issues. It turns out that they were able to see emails belonging to another forum in their Sidekiq “Retries” overview.


(Sam Saffron) #2

Sidekiq web probably should be hidden from all but main site


(Sander Datema) #3

And logs, etc. Just like Wordpress has a main network instance and the rest are slaves.


(Sam Saffron) #4

Logs is actually isolated , isolating sidekiq is a pain


(Kane York) #5

Would it be possible to create some kind of MainSiteAdminConstraint?

Discourse::Application.routes.draw do

  match "/404", to: "exceptions#not_found", via: [:get, :post]
  get "/404-body" => "exceptions#not_found_body"

  if Rails.env == "development"
    mount Sidekiq::Web => "/sidekiq"
    mount Logster::Web => "/logs"
  else
    mount Sidekiq::Web => "/sidekiq", constraints: MainSiteAdminConstraint.new
    mount Logster::Web => "/logs", constraints: MainSiteAdminConstraint.new
  end

  get "site" => "site#index"

(Sam Saffron) #8

Yes, this is the only correct thing to do here, we can’t even allow developers cause people can potentially fake a developer account


(Sam Saffron) #9