Security Vulnerability Report
中文
CVE-2026-27656 CVSS 5.7 MEDIUM

CVE-2026-27656

Published: 2026-03-25 17:16:57
Last Modified: 2026-03-26 18:51:38

Description

Mattermost versions 11.4.x <= 11.4.0, 11.3.x <= 11.3.1, 11.2.x <= 11.2.3, 10.11.x <= 10.11.11 fail to properly validate user identity in the OpenID {{IsSameUser()}} comparison logic, which allows an attacker to take over arbitrary user accounts via an overly permissive substring matching flaw in the user discovery flow.. Mattermost Advisory ID: MMSA-2026-00590

CVSS Details

CVSS Score
5.7
Severity
MEDIUM
CVSS Vector
CVSS:3.1/AV:N/AC:H/PR:H/UI:R/S:U/C:H/I:H/A:N

Configurations (Affected Products)

cpe:2.3:a:mattermost:mattermost_server:*:*:*:*:*:*:*:* - VULNERABLE
cpe:2.3:a:mattermost:mattermost_server:*:*:*:*:*:*:*:* - VULNERABLE
cpe:2.3:a:mattermost:mattermost_server:*:*:*:*:*:*:*:* - VULNERABLE
cpe:2.3:a:mattermost:mattermost_server:*:*:*:*:*:*:*:* - VULNERABLE
Mattermost 11.4.x <= 11.4.0
Mattermost 11.3.x <= 11.3.1
Mattermost 11.2.x <= 11.2.3
Mattermost 10.11.x <= 10.11.11

PoC / Exploit Code

⚠ For Security Research Only
The following code is for security research and authorized testing only.
python
# POC Concept for CVE-2026-27656 # This script simulates the logic flaw in the IsSameUser() function. # The vulnerability allows account takeover via substring matching. def vulnerable_is_same_user(attacker_identity, target_identity): """ Simulates the flawed logic where substring matching is used. If the attacker's identity is a substring of the target's, it returns True. """ return attacker_identity in target_identity def exploit_scenario(): # Scenario: Attacker wants to take over the 'admin' account. target_user = "[email protected]" # Attacker creates an account with a substring identity (e.g., 'admin') attacker_controlled_identity = "admin" print(f"[+] Target Identity: {target_user}") print(f"[+] Attacker Identity: {attacker_controlled_identity}") # Check if the vulnerable logic passes if vulnerable_is_same_user(attacker_controlled_identity, target_user): print("[!] Vulnerability Confirmed: Substring match successful.") print("[!] Result: Attacker can take over the target account.") return True else: print("[-] Match failed.") return False if __name__ == "__main__": exploit_scenario()

References

Raw JSON Data

JSON
{"cve": {"id": "CVE-2026-27656", "sourceIdentifier": "[email protected]", "published": "2026-03-25T17:16:56.797", "lastModified": "2026-03-26T18:51:38.050", "vulnStatus": "Analyzed", "cveTags": [], "descriptions": [{"lang": "en", "value": "Mattermost versions 11.4.x <= 11.4.0, 11.3.x <= 11.3.1, 11.2.x <= 11.2.3, 10.11.x <= 10.11.11 fail to properly validate user identity in the OpenID {{IsSameUser()}} comparison logic, which allows an attacker to take over arbitrary user accounts via an overly permissive substring matching flaw in the user discovery flow.. Mattermost Advisory ID: MMSA-2026-00590"}, {"lang": "es", "value": "Las versiones de Mattermost 11.4.x &lt;= 11.4.0, 11.3.x &lt;= 11.3.1, 11.2.x &lt;= 11.2.3, 10.11.x &lt;= 10.11.11 no validan correctamente la identidad del usuario en la lógica de comparación OpenID {{IsSameUser()}}, lo que permite a un atacante tomar el control de cuentas de usuario arbitrarias a través de un fallo de coincidencia de subcadenas excesivamente permisivo en el flujo de descubrimiento de usuarios. ID de aviso de Mattermost: MMSA-2026-00590"}], "metrics": {"cvssMetricV31": [{"source": "[email protected]", "type": "Secondary", "cvssData": {"version": "3.1", "vectorString": "CVSS:3.1/AV:N/AC:H/PR:H/UI:R/S:U/C:H/I:H/A:N", "baseScore": 5.7, "baseSeverity": "MEDIUM", "attackVector": "NETWORK", "attackComplexity": "HIGH", "privilegesRequired": "HIGH", "userInteraction": "REQUIRED", "scope": "UNCHANGED", "confidentialityImpact": "HIGH", "integrityImpact": "HIGH", "availabilityImpact": "NONE"}, "exploitabilityScore": 0.5, "impactScore": 5.2}, {"source": "[email protected]", "type": "Primary", "cvssData": {"version": "3.1", "vectorString": "CVSS:3.1/AV:N/AC:L/PR:H/UI:R/S:U/C:H/I:H/A:N", "baseScore": 6.1, "baseSeverity": "MEDIUM", "attackVector": "NETWORK", "attackComplexity": "LOW", "privilegesRequired": "HIGH", "userInteraction": "REQUIRED", "scope": "UNCHANGED", "confidentialityImpact": "HIGH", "integrityImpact": "HIGH", "availabilityImpact": "NONE"}, "exploitabilityScore": 0.9, "impactScore": 5.2}]}, "weaknesses": [{"source": "[email protected]", "type": "Secondary", "description": [{"lang": "en", "value": "CWE-303"}]}], "configurations": [{"nodes": [{"operator": "OR", "negate": false, "cpeMatch": [{"vulnerable": true, "criteria": "cpe:2.3:a:mattermost:mattermost_server:*:*:*:*:*:*:*:*", "versionStartIncluding": "10.11.0", "versionEndExcluding": "10.11.12", "matchCriteriaId": "D144BD1D-F65C-498D-BC8A-F3D718F47F4B"}, {"vulnerable": true, "criteria": "cpe:2.3:a:mattermost:mattermost_server:*:*:*:*:*:*:*:*", "versionStartIncluding": "11.2.0", "versionEndExcluding": "11.2.4", "matchCriteriaId": "2E3E9B61-F003-45E4-9A04-8015A5CB8558"}, {"vulnerable": true, "criteria": "cpe:2.3:a:mattermost:mattermost_server:*:*:*:*:*:*:*:*", "versionStartIncluding": "11.3.0", "versionEndExcluding": "11.3.2", "matchCriteriaId": "805ECFFC-82FD-4754-AF95-32167E1D41CB"}, {"vulnerable": true, "criteria": "cpe:2.3:a:mattermost:mattermost_server:*:*:*:*:*:*:*:*", "versionStartIncluding": "11.4.0", "versionEndExcluding": "11.4.1", "matchCriteriaId": "839BC7B7-28DF-4125-937A-8B0D2D6893C2"}]}]}], "references": [{"url": "https://mattermost.com/security-updates", "source": "[email protected]", "tags": ["Vendor Advisory"]}]}}