Miggo Logo

CVE-2025-1792: Mattermost fails to properly enforce access controls for guest users

3.1

CVSS Score
3.1

Basic Information

EPSS Score
0.0758%
Published
5/30/2025
Updated
5/30/2025
KEV Status
No
Technology
TechnologyGo

Technical Details

CVSS Vector
CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:L/I:N/A:N
Package NameEcosystemVulnerable VersionsFirst Patched Version
github.com/mattermost/mattermost/server/v8go>= 10.6.0-rc1, < 10.7.110.7.1
github.com/mattermost/mattermost/server/v8go>= 10.0.0-rc1, < 10.5.410.5.4
github.com/mattermost/mattermost/server/v8go>= 9.0.0-rc1, < 9.11.139.11.13
github.com/mattermost/mattermost/server/v8go< 8.0.0-20250414110750-c23f44fe8ed08.0.0-20250414110750-c23f44fe8ed0

Vulnerability Intelligence
Miggo AIMiggo AI

Miggo AIRoot Cause Analysis

The vulnerability, CVE-2025-1792, concerns Mattermost's failure to properly enforce access controls for guest users, allowing them to access channel member information illicitly. The provided commit c23f44fe8ed02f71d506f99adc30ad34c58c89d1 directly addresses this issue by modifying the addChannelMember function within server/channels/api4/channel.go.

The analysis of the patch reveals that a crucial security check was missing in the addChannelMember function. This check, now added, verifies if the session user is a guest and, if so, whether they possess the model.PermissionReadChannel for the channel in question. The absence of this check meant that guest users could call the API endpoint associated with addChannelMember for any channel, including those they should not have access to. This could lead to several exploit scenarios, such as inferring channel or member existence, or potentially altering membership in a way that reveals information, thus 'viewing metadata' indirectly as described in the vulnerability.

The function github.com/mattermost/mattermost/server/v8/channels/api4.addChannelMember is identified as vulnerable (in its pre-patch state) because it processed requests related to channel membership without adequate permission validation for guest users. The introduction of the IsGuest() check combined with SessionHasPermissionToChannel rectifies this specific flaw. While the vulnerability description mentions 'viewing metadata' and 'channel members API endpoint' (plural or general), this commit specifically patches the addChannelMember function, making it a concrete example of where the access control was lacking. This function would appear in a runtime profile if this specific part of the vulnerability was triggered or exploited.

Vulnerable functions

Only Mi**o us*rs **n s** t*is s**tion

WAF Protection Rules

WAF Rule

M*tt*rmost v*rsions **.*.x <= **.*.*, **.*.x <= **.*.*, *.**.x <= *.**.** **il to prop*rly *n*or** ****ss *ontrols *or *u*st us*rs ****ssin* ***nn*l m*m**r in*orm*tion, *llowin* *ut**nti**t** *u*st us*rs to vi*w m*t***t* **out m*m**rs o* pu*li* ***nn

Reasoning

T** vuln*r**ility, *V*-****-****, *on**rns M*tt*rmost's **ilur* to prop*rly *n*or** ****ss *ontrols *or *u*st us*rs, *llowin* t**m to ****ss ***nn*l m*m**r in*orm*tion illi*itly. T** provi*** *ommit `****************************************` *ir**tly