{"id":"CVE-2024-39839","aliases":["BIT-mattermost-2024-39839","EUVD-2024-2663","GHSA-vg6q-84p8-qvqh","GO-2024-3024"],"status":"published","title":"Remote username set to an arbitrary string by remote user","description":"Mattermost versions 9.9.x \u003c= 9.9.0, 9.5.x \u003c= 9.5.6, 9.7.x \u003c= 9.7.5, 9.8.x \u003c= 9.8.1 fail to disallow users to set their own remote username, when shared channels were enabled, which allows a user on a remote to set their remote username prop to an arbitrary string, which would be then synced to the local server as long as the user hadn't been synced before.","severity":{"version":"3.1","score":4.3,"vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:L/A:N","level":"medium","assessor":"cna","from":"cve"},"epss":{"day":"2026-11-11","score":0.00338,"percentile":0.27597,"model":"v2026.06.15"},"facts":{"in_kev":false,"known_exploited":false,"public_exploit":false,"fix_available":true},"cwes":["CWE-284"],"published":"2024-08-01T14:05:07Z","modified":"2026-10-28T02:31:04Z","fixes":[{"ecosystem":"Go","package":"github.com/mattermost/mattermost/server/v8","fixed_in":["9.5.7","9.7.6","9.8.2","9.9.1"],"sources":["ghsa","osv"]},{"ecosystem":"Bitnami","package":"mattermost","fixed_in":["9.5.7","9.7.6","9.8.2"],"sources":["osv"]},{"ecosystem":"Go","package":"github.com/mattermost/mattermost-server","fixed_in":["9.5.7+incompatible","9.7.6+incompatible","9.8.2+incompatible","9.9.1+incompatible"],"sources":["osv"]}],"affected":[{"source":"ghsa","ecosystem":"Go","package":"github.com/mattermost/mattermost/server/v8","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"9.5.0"},{"fixed":"9.5.7"}]}]},{"source":"ghsa","ecosystem":"Go","package":"github.com/mattermost/mattermost/server/v8","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"9.7.0"},{"fixed":"9.7.6"}]}]},{"source":"ghsa","ecosystem":"Go","package":"github.com/mattermost/mattermost/server/v8","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"9.8.0"},{"fixed":"9.8.2"}]}]},{"source":"ghsa","ecosystem":"Go","package":"github.com/mattermost/mattermost/server/v8","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"9.9.0"},{"last_affected":"9.9.0"},{"fixed":"9.9.1"}]}],"versions":["9.9.0"]},{"source":"osv","ecosystem":"Bitnami","package":"mattermost","ranges":[{"type":"SEMVER","events":[{"introduced":"9.5.0"},{"fixed":"9.5.7"},{"introduced":"9.7.0"},{"fixed":"9.7.6"},{"introduced":"9.8.0"},{"fixed":"9.8.2"}]},{"type":"SEMVER","events":[{"introduced":"9.9.0"},{"last_affected":"9.9.0"}]}]},{"source":"osv","ecosystem":"Go","package":"github.com/mattermost/mattermost/server/v8","ranges":[{"type":"SEMVER","events":[{"introduced":"9.5.0"},{"fixed":"9.5.7"}]}]},{"source":"osv","ecosystem":"Go","package":"github.com/mattermost/mattermost/server/v8","ranges":[{"type":"SEMVER","events":[{"introduced":"9.7.0"},{"fixed":"9.7.6"}]}]},{"source":"osv","ecosystem":"Go","package":"github.com/mattermost/mattermost/server/v8","ranges":[{"type":"SEMVER","events":[{"introduced":"9.8.0"},{"fixed":"9.8.2"}]}]},{"source":"osv","ecosystem":"Go","package":"github.com/mattermost/mattermost/server/v8","ranges":[{"type":"SEMVER","events":[{"introduced":"9.9.0"},{"fixed":"9.9.1"}]}],"versions":["9.9.0"]},{"source":"osv","ecosystem":"Go","package":"github.com/mattermost/mattermost-server","ranges":[{"type":"SEMVER","events":[{"introduced":"9.5.0+incompatible"},{"fixed":"9.5.7+incompatible"},{"introduced":"9.7.0+incompatible"},{"fixed":"9.7.6+incompatible"},{"introduced":"9.8.0+incompatible"},{"fixed":"9.8.2+incompatible"},{"introduced":"9.9.0+incompatible"},{"fixed":"9.9.1+incompatible"}]}]},{"source":"osv","ecosystem":"Go","package":"github.com/mattermost/mattermost-server/v5","ranges":[{"type":"SEMVER","events":[{"introduced":"0"}]}]},{"source":"osv","ecosystem":"Go","package":"github.com/mattermost/mattermost-server/v6","ranges":[{"type":"SEMVER","events":[{"introduced":"0"}]}]},{"source":"osv","ecosystem":"Go","package":"github.com/mattermost/mattermost/server/v8","ranges":[{"type":"SEMVER","events":[{"introduced":"0"}]}]}],"products":[{"vendor":"mattermost","product":"mattermost"},{"vendor":"mattermost","product":"mattermost_server"}],"references":[{"url":"https://mattermost.com/security-updates","tags":["Vendor Advisory","web"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2024-39839","tags":["web","advisory"]},{"url":"https://pkg.go.dev/vuln/GO-2024-3024","tags":["web"]},{"url":"https://github.com/advisories/GHSA-vg6q-84p8-qvqh","tags":["advisory"]},{"url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2024/39xxx/CVE-2024-39839.json","tags":["advisory"]},{"url":"https://github.com/mattermost/mattermost","tags":["package"]}],"sources":{"cve":[{"id":"CVE-2024-39839","title":"Remote username set to an arbitrary string by remote user","description":"Mattermost versions 9.9.x \u003c= 9.9.0, 9.5.x \u003c= 9.5.6, 9.7.x \u003c= 9.7.5, 9.8.x \u003c= 9.8.1 fail to disallow users to set their own remote username, when shared channels were enabled, which allows a user on a remote to set their remote username prop to an arbitrary string, which would be then synced to the local server as long as the user hadn't been synced before.","status":"published","published":"2024-08-01T14:05:07.339Z","modified":"2024-08-01T18:04:42.351Z","cvss":[{"version":"3.1","score":4.3,"vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:L/A:N","level":"medium","assessor":"cna"}],"cwes":["CWE-284"],"updated_at":"2026-11-02T14:34:19.28149Z"}],"euvd":[{"id":"EUVD-2024-2663","description":"Mattermost versions 9.9.x \u003c= 9.9.0, 9.5.x \u003c= 9.5.6, 9.7.x \u003c= 9.7.5, 9.8.x \u003c= 9.8.1 fail to disallow users to set their own remote username, when shared channels were enabled, which allows a user on a remote to set their remote username prop to an arbitrary string, which would be then synced to the local server as long as the user hadn't been synced before.","status":"published","published":"2024-08-01T14:05:07Z","modified":"2024-08-01T18:04:42Z","cvss":[{"version":"3.1","score":4.3,"vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:L/A:N","level":"medium"}],"updated_at":"2026-11-03T03:50:41.523881Z"}],"ghsa":[{"id":"GHSA-vg6q-84p8-qvqh","title":"Mattermost allows a user on a remote to set their remote username prop to an arbitrary string","description":"Mattermost versions 9.9.x \u003c= 9.9.0, 9.5.x \u003c= 9.5.6, 9.7.x \u003c= 9.7.5, 9.8.x \u003c= 9.8.1 fail to disallow users to set their own remote username, when shared channels were enabled, which allows a user on a remote to set their remote username prop to an arbitrary string, which would be then synced to the local server as long as the user hadn't been synced before.","status":"published","published":"2024-08-01T15:32:23Z","modified":"2024-08-07T19:33:21Z","cvss":[{"version":"4.0","score":5.3,"vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:N/VI:L/VA:N/SC:N/SI:N/SA:N","level":"medium"},{"version":"3.1","score":4.3,"vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:L/A:N","level":"medium"}],"cwes":["CWE-284"],"updated_at":"2026-11-02T14:37:58.427757Z"}],"nvd":[{"id":"CVE-2024-39839","description":"Mattermost versions 9.9.x \u003c= 9.9.0, 9.5.x \u003c= 9.5.6, 9.7.x \u003c= 9.7.5, 9.8.x \u003c= 9.8.1 fail to disallow users to set their own remote username, when shared channels were enabled, which allows a user on a remote to set their remote username prop to an arbitrary string, which would be then synced to the local server as long as the user hadn't been synced before.","status":"published","published":"2024-08-01T15:15:12.993Z","modified":"2026-06-17T07:42:53.883Z","cvss":[{"version":"3.1","score":4.3,"vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:L/A:N","level":"medium","assessor":"secondary"},{"version":"3.1","score":4.3,"vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:L/A:N","level":"medium","assessor":"primary"}],"cwes":["CWE-284"],"updated_at":"2026-11-02T14:10:15.933769Z"}],"osv":[{"id":"CVE-2024-39839","title":"Remote username set to an arbitrary string by remote user","description":"Mattermost versions 9.9.x \u003c= 9.9.0, 9.5.x \u003c= 9.5.6, 9.7.x \u003c= 9.7.5, 9.8.x \u003c= 9.8.1 fail to disallow users to set their own remote username, when shared channels were enabled, which allows a user on a remote to set their remote username prop to an arbitrary string, which would be then synced to the local server as long as the user hadn't been synced before.","status":"published","published":"2024-08-01T14:05:07.339Z","modified":"2026-10-28T02:31:04.048968434Z","cvss":[{"version":"3.1","score":4.3,"vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:L/A:N","level":"medium"}],"cwes":["CWE-284"],"updated_at":"2026-11-02T15:44:41.618074Z"},{"id":"GHSA-vg6q-84p8-qvqh","title":"Mattermost allows a user on a remote to set their remote username prop to an arbitrary string","description":"Mattermost versions 9.9.x \u003c= 9.9.0, 9.5.x \u003c= 9.5.6, 9.7.x \u003c= 9.7.5, 9.8.x \u003c= 9.8.1 fail to disallow users to set their own remote username, when shared channels were enabled, which allows a user on a remote to set their remote username prop to an arbitrary string, which would be then synced to the local server as long as the user hadn't been synced before.","status":"published","published":"2024-08-01T15:32:23Z","modified":"2024-09-05T20:11:49.600165Z","cvss":[{"version":"3.1","score":4.3,"vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:L/A:N","level":"medium"},{"version":"4.0","score":5.3,"vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:N/VI:L/VA:N/SC:N/SI:N/SA:N","level":"medium"}],"cwes":["CWE-284"],"updated_at":"2026-11-02T15:46:57.348035Z"},{"id":"BIT-mattermost-2024-39839","description":"Mattermost versions 9.9.x \u003c= 9.9.0, 9.5.x \u003c= 9.5.6, 9.7.x \u003c= 9.7.5, 9.8.x \u003c= 9.8.1 fail to disallow users to set their own remote username, when shared channels were enabled, which allows a user on a remote to set their remote username prop to an arbitrary string, which would be then synced to the local server as long as the user hadn't been synced before.","status":"published","published":"2024-09-05T19:14:36.339Z","modified":"2025-04-03T14:40:37.652Z","updated_at":"2026-11-02T15:28:33.072289Z"},{"id":"GO-2024-3024","title":"Mattermost allows a user on a remote to set their remote username prop to an arbitrary string in github.com/mattermost/mattermost-server","description":"Mattermost allows a user on a remote to set their remote username prop to an arbitrary string in github.com/mattermost/mattermost-server","status":"published","published":"2024-08-06T22:40:50Z","modified":"2026-03-03T04:55:36.197508Z","updated_at":"2026-11-02T15:47:01.453823Z"}]}}
