Discourse is an open-source discussion platform. Prior to versions 3.3.4 on the stable branch and 3.4.0.beta5 on the beta branch, someone who is about to reach the limit of users in a group DM may send requests to add new users in parallel. The requests might all go through ignoring the limit due to a race condition. The patch in versions 3.3.4 and 3.4.0.beta5 uses the lock step in service to wrap part of the add_users_to_channel service inside a distributed lock/mutex in order to avoid the race condition.
| Software | From | Fixed in |
|---|---|---|
| discourse / discourse | - | 3.3.3 |
| discourse / discourse | - | 3.4.0 |
| discourse / discourse | 3.4.0-beta1 | 3.4.0-beta1.x |
| discourse / discourse | 3.4.0-beta2 | 3.4.0-beta2.x |
| discourse / discourse | 3.4.0-beta3 | 3.4.0-beta3.x |
| discourse / discourse | 3.4.0-beta4 | 3.4.0-beta4.x |