This repository has been archived on 2023-03-18. You can view files and clone it, but cannot push or open issues or pull requests.
osr-discourse-src/plugins/chat
Blake Erickson fb019d1712
SECURITY: Multiple commits for Version bump 3.1.0.beta3 (#20707)
* SECURITY: Fix XSS in full name composer reply

We are using htmlSafe when rendering the name field so we need to escape
any html being passed in.

* SECURITY: Monkey-patch web-push gem to use safer HTTP client

`FinalDestination::HTTP` is our patch of `Net::HTTP` which defend us
against SSRF and DNS rebinding attacks.

* SECURITY: SSRF protection bypass with IPv4-mapped IPv6 addresses

As part of this commit, we've also expanded our list of private IP
ranges based on
https://www.iana.org/assignments/iana-ipv4-special-registry/iana-ipv4-special-registry.xhtml
and https://www.iana.org/assignments/iana-ipv6-special-registry/iana-ipv6-special-registry.xhtml

* SECURITY: XSS on chat excerpts

Non-markdown tags weren't being escaped in chat excerpts. This could be
triggered by editing a chat message containing a tag (self XSS), or by
replying to a chat message with a tag (XSS).

Co-authored-by: Jan Cernik <jancernik12@gmail.com>

* FIX: Escaped mentions in chat excerpts

Mentions are now displayed as using the non-cooked message which fixes
the problem. This is not ideal. I think we might want to rework how
these excerpts are created and rendered in the near future.

Co-authored-by: Jan Cernik <jancernik12@gmail.com>

* SECURITY: Add FinalDestination::FastImage that's SSRF safe

---------

Co-authored-by: Alan Guo Xiang Tan <gxtan1990@gmail.com>
Co-authored-by: Jan Cernik <jancernik12@gmail.com>
Co-authored-by: Ted Johansson <ted@discourse.org>
2023-03-16 14:04:46 -06:00
..
app SECURITY: Multiple commits for Version bump 3.1.0.beta3 (#20707) 2023-03-16 14:04:46 -06:00
assets SECURITY: Multiple commits for Version bump 3.1.0.beta3 (#20707) 2023-03-16 14:04:46 -06:00
config DEV: remove unused string (#20662) 2023-03-16 00:15:07 +04:00
db DEV: Always create chat mention records (#20470) 2023-03-07 19:07:11 +04:00
lib FIX: do not send emails when channel-wide mentions are disabled in a channel (#20677) 2023-03-14 21:45:05 +04:00
public DEV: Move discourse-chat to the core repo. (#18776) 2022-11-02 10:41:30 -03:00
spec SECURITY: Multiple commits for Version bump 3.1.0.beta3 (#20707) 2023-03-16 14:04:46 -06:00
test/javascripts DEV: adds a addChatDrawerStateCallback API (#20640) 2023-03-10 18:49:59 +01:00
plugin.rb DEV: Change Bookmarkable registration to DiscoursePluginRegistry (#20556) 2023-03-08 10:39:12 +10:00
README.md DEV: Chat service object initial implementation (#19814) 2023-02-13 13:09:57 +01:00

This plugin is still in active development and may change frequently

Documentation

The Discourse Chat plugin adds chat functionality to your Discourse so it can natively support both long-form and short-form communication needs of your online community.

For user documentation, see Discourse Chat.

For developer documentation, see Discourse Documentation.