org.geysermc:connector: User impersonation due to incorrect handling of the login JWT
What fixes it
- 1.4.2-SNAPSHOTorg.geysermc:connector, mavenGitHub
<dependency><groupId>org.geysermc</groupId><artifactId>connector</artifactId><version>1.4.2-SNAPSHOT</version></dependency> - 1.4.2-SNAPSHOTorg.geysermc:connector, MavenOSV
<dependency><groupId>org.geysermc</groupId><artifactId>connector</artifactId><version>1.4.2-SNAPSHOT</version></dependency>
A fixed version on one release line is not the upgrade target for every line. Check your exact version and any vendor backports.
Description
Impact
<!--_What kind of vulnerability is it? Who is impacted?_--> This allows anyone that can connect to the server to forge a LoginPacket with manipulated JWT token allowing impersonation as any Bedrock user. Unless credentials are saved in your configuration, online mode is not affected as users are still required to log in separately. If your credentials are saved, there is no risk of exposing your email or password.
Patches
<!--_Has the problem been patched? What versions should users upgrade to?_--> This was patched as part of https://github.com/GeyserMC/Geyser/commit/b9541505af68ac7b7c093206ac7b1ba88957a5a6 and https://github.com/GeyserMC/Geyser/commit/ab2f5b326fe590e09167e8b45b4b165ac06ecd13. if your Geyser version is 1.4.2-SNAPSHOT or later, the issue has been addressed on your build.
Workarounds
<!--_Is there a way for users to fix or remediate the vulnerability without upgrading?_--> Geyser strongly recommends updating to fix this issue. If this isn't possible:
- Use online mode and don't save credentials in your Geyser configuration
- Use an additional authentication method on the Java server
References
<!--_Are there any links users can visit to find out more?_--> This was disclosed to us by a staff member over at Hive; you can read their disclosure here: https://updates.playhive.com/changelog/weekend-maintenance-breakdown
For more information
If you have any questions or comments about this advisory:
- Come talk to us over on our Discord server in the #development channel
Text from GitHub Advisory Database
Affected versions 3
- org.geysermc:connector, maven< 1.4.2-SNAPSHOTGitHub
- Geyseraffected: <= 1.4.1-SNAPSHOTCVE List
- org.geysermc:connector, Mavenfrom first release, fixed in 1.4.2-SNAPSHOTOSV
References 6
- github.com/GeyserMC/Geyser/commit/b9541505af68ac7b7c093206ac7b1ba88957a5a6Fixvia CVE List
- updates.playhive.com/changelog/weekend-maintenance-breakdownFixvia GitHub
- github.com/GeyserMC/Geyser/security/advisories/GHSA-h77f-xxx7-4858Advisoryvia CVE List
- github.com/advisories/GHSA-h77f-xxx7-4858Advisoryvia GitHub
- nvd.nist.gov/vuln/detail/CVE-2021-39177Referencevia GitHub
- updates.playhive.com/weekend-maintenance-disclosure-2kJMaYReferencevia CVE List