GravitLauncher is an open-source Minecraft launcher based on sashok724's v3. Prior to 5.7.12, an unauthenticated remote actor can send a raw HTTP request target without a leading slash to the default LaunchServer file server on port 9274. FileServerHandler.channelRead0 in components/launchserver/src/main/java/pro/gravit/launchserver/socket/handlers/fileserver/FileServerHandler.java strips the first request-target character and resolves the remaining path against updatesDir without re-normalizing and verifying containment. This leaves parent-directory components in a no-leading-slash request and allows reading any file accessible to the LaunchServer process, including .keys/ecdsa_id, .keys/legacySalt, and LaunchServer.json. Disclosure of those files can expose signing keys, refresh-token material, and database credentials, enabling forged administrative access tokens and full authentication bypass. A normalizing L7 proxy may block the primary request form, but direct exposure and L4/TCP proxies remain affected, and netty.fileServerEnabled is enabled by default. This issue is fixed in 5.7.12.
{
"cna_assigner": "GitHub_M",
"cwe_ids": [
"CWE-200",
"CWE-22",
"CWE-522"
],
"osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/54xxx/CVE-2026-54617.json"
}{
"extracted_events": [
{
"introduced": "0"
},
{
"fixed": "5.7.12"
}
],
"source": [
"AFFECTED_FIELD",
"REFERENCES"
]
}
"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-54617.json"
[
{
"deprecated": false,
"digest": {
"function_hash": "323079498020791883804598656217973970550",
"length": 2427
},
"id": "CVE-2026-54617-67aadb5d",
"signature_type": "Function",
"signature_version": "v1",
"source": "https://github.com/gravitlauncher/launcher/commit/8114a1d4cfbcaab4c1c337d921597805d71dee3b",
"target": {
"file": "components/launchserver/src/main/java/pro/gravit/launchserver/socket/handlers/fileserver/FileServerHandler.java",
"function": "channelRead0"
}
},
{
"deprecated": false,
"digest": {
"line_hashes": [
"191750727599073554647365754052379144490",
"167667344567132132347785472687221676011",
"120447054406221686181754940568006858668",
"246429432771504280264388284389552894830"
],
"threshold": 0.9
},
"id": "CVE-2026-54617-89bfab9e",
"signature_type": "Line",
"signature_version": "v1",
"source": "https://github.com/gravitlauncher/launcher/commit/8114a1d4cfbcaab4c1c337d921597805d71dee3b",
"target": {
"file": "components/launchserver/src/main/java/pro/gravit/launchserver/socket/handlers/fileserver/FileServerHandler.java"
}
},
{
"deprecated": false,
"digest": {
"line_hashes": [
"111772859681101315033004083644853869087",
"173186182574712184695790095105448094590",
"205849670440004851523507195535414807689",
"4948600106563056388344395260209482005"
],
"threshold": 0.9
},
"id": "CVE-2026-54617-c89b7b90",
"signature_type": "Line",
"signature_version": "v1",
"source": "https://github.com/gravitlauncher/launcher/commit/fef9bae63da1afc0518d32e3333db20f409ab196",
"target": {
"file": "components/launcher-core/src/main/java/pro/gravit/utils/Version.java"
}
}
]
"2026-09-19T08:14:22Z"