CVE-2025-13523

7.7 HIGH

📋 TL;DR

This cross-site scripting (XSS) vulnerability in Mattermost's Confluence plugin allows authenticated Confluence users with malicious display names to execute arbitrary JavaScript in victim browsers. Attackers can send specially crafted OAuth2 connection links that render their display name without proper HTML escaping. Organizations using Mattermost with the Confluence plugin version below 1.7.0 are affected.

💻 Affected Systems

Products:
  • Mattermost Confluence Plugin
Versions: All versions < 1.7.0
Operating Systems: All platforms running Mattermost
Default Config Vulnerable: ⚠️ Yes
Notes: Requires both Mattermost and Confluence integration with the plugin enabled. Only affects authenticated Confluence users who can modify their display names.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Attackers could steal session cookies, perform actions as authenticated users, redirect to malicious sites, or deploy ransomware through browser-based attacks.

🟠

Likely Case

Attackers steal session tokens to gain unauthorized access to Mattermost/Confluence, potentially accessing sensitive conversations and documents.

🟢

If Mitigated

With proper input validation and output encoding, the attack would fail to execute JavaScript, limiting impact to display of unusual characters.

🌐 Internet-Facing: MEDIUM - Requires authenticated Confluence user access and victim interaction with crafted link, but could affect external users.
🏢 Internal Only: HIGH - Internal users with Confluence access can target colleagues, potentially compromising internal communications and data.

🎯 Exploit Status

Public PoC: ✅ No
Weaponized: LIKELY
Unauthenticated Exploit: ✅ No
Complexity: LOW

Exploitation requires authenticated Confluence access and social engineering to get victims to click malicious OAuth2 links. The XSS payload execution is straightforward once the link is visited.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: 1.7.0 and later

Vendor Advisory: https://mattermost.com/security-updates

Restart Required: Yes

Instructions:

1. Update Mattermost Confluence plugin to version 1.7.0 or higher via Mattermost System Console > Plugins. 2. Restart Mattermost server. 3. Verify plugin version shows 1.7.0+ in System Console.

🔧 Temporary Workarounds

Disable Confluence Plugin

all

Temporarily disable the vulnerable plugin until patching is possible

mmctl plugin disable confluence

Restrict Display Name Changes

all

Limit Confluence user ability to modify display names to trusted administrators only

🧯 If You Can't Patch

  • Implement web application firewall (WAF) rules to block XSS payloads in OAuth2 parameters
  • Monitor for unusual display name changes in Confluence audit logs and suspicious OAuth2 connection attempts

🔍 How to Verify

Check if Vulnerable:

Check Mattermost System Console > Plugins > Confluence plugin version. If version is below 1.7.0, system is vulnerable.

Check Version:

mmctl plugin list | grep confluence

Verify Fix Applied:

Confirm plugin version shows 1.7.0 or higher in System Console. Test by creating a Confluence user with HTML in display name and attempting OAuth2 connection.

📡 Detection & Monitoring

Log Indicators:

  • Unusual display name changes in Confluence logs
  • Multiple failed OAuth2 connection attempts from same user
  • JavaScript execution errors in Mattermost logs

Network Indicators:

  • OAuth2 redirects containing script tags or JavaScript in parameters
  • Unusual outbound connections from Mattermost server after OAuth2 flows

SIEM Query:

source="mattermost.log" AND "confluence" AND ("oauth2" OR "display_name") AND ("script" OR "javascript" OR "onerror" OR "onload")

🔗 References

📤 Share & Export