TShock Security Escalation Exploit
Key facts
- Attack vector
- —
- Privileges required
- —
- User interaction
- —
- Attack complexity
- —
- Impact type
- Security bypass
- Confidentiality · integrity · availability
- —
- Fix status
- Fixed
No CVSS vector from any source. Fix status from GitHub. Impact type from CWE-613.
Summary
### Impact An issue with the way OTAPI manages client connections results in stale UUIDs remaining on `RemoteClient` instances after a player disconnects. Because of this, if the following conditions are met a player may assume the login state of a previously connected player: 1. The server has UUID login enabled 2. An authenticated player disconnects 3. A subsequent player connects with a modified client that does not send the `ClientUUID#68` packet during connection 4. The server assigns the same `RemoteClient` object that belonged to the originally authenticated player to the newly connected player ### Patches TShock 5.2.1 hotfixes this issue. A more robust fix will be made to OTAPI itself. ### Workarounds Implement a RemoteClient reset event handler in a plugin like so: ```csharp public override void Initialize() { On.Terraria.RemoteClient.Reset += RemoteClient_Reset; } private static void RemoteClient_Reset(On.Terraria.RemoteClient.orig_Reset orig, RemoteClient client) { client.ClientUUID = null; orig(client); } ```
Why it matters now
SSVC decision points
Not available: CISA has not published SSVC decision points for this record.
Affected products
| Vendor | Product | Affected versions | Fixed in | Status | Source |
|---|---|---|---|---|---|
| — | TShock (NuGet) | 4.3.21 to before 5.2.1 | 5.2.1 | Patch available | GHSA-hvm9-wc8j-mgrc |
- TShock (NuGet) Vendor— Affected 4.3.21 to before 5.2.1 Fixed in 5.2.1 Patch available GHSA-hvm9-wc8j-mgrc
Remediation
- Fix · GHSA-hvm9-wc8j-mgrc TShock (NuGet) Fixed in 5.2.1 Advisory →
Timeline
- 2026-10-03 Threatist record created from GHSA-hvm9-wc8j-mgrc
References
Sources
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences