{"id":"GHSA-5jfw-35xp-5m42","aliases":[],"title":"Buffer length underflow in LoginPacket causing unchecked exceptions to be thrown","titleSource":"OSV","descriptionSource":"OSV","declaredSeverity":"HIGH","description":"### Impact\n`LoginPacket` uses `BinaryStream->getLInt()` to read the lengths of JSON payloads it wants to decode. Unfortunately, `BinaryStream->getLInt()` returns a signed integer, meaning that a malicious client can craft a packet with a large uint32 value for payload buffer size (which would be interpreted as a negative signed int32), causing `BinaryStream->get()` to throw an exception.\n\nIn the context of PocketMine-MP, this leads to a server crash when the vulnerability is exploited.\n\n### Patches\ne3fce7632b94e83fd6a518a87dcaf6a11681c4ac\n\n### Workarounds\nThis can be worked around by registering a custom `LoginPacket` implementation into `PacketPool` which overrides [this code](https://github.com/pmmp/BedrockProtocol/blob/47532c95ea37d5f0365b23f734d70d943ff95295/src/LoginPacket.php#L54) to patch it.\n\n### For more information\n* Email us at [team@pmmp.io](mailto:team@pmmp.io)","severity":"high","score":7.5,"published":"2022-04-05T17:53:22.000Z","modified":"2024-12-05T05:39:20.852Z","withdrawn":false,"knownExploited":false,"affected":[{"ecosystem":"Packagist","name":"pocketmine/bedrock-protocol","sources":[{"name":"OSV · GHSA-5jfw-35xp-5m42","url":"https://osv.dev/vulnerability/GHSA-5jfw-35xp-5m42"}],"ranges":[{"events":[{"introduced":"0"},{"fixed":"8.0.2"}],"type":"ECOSYSTEM"}],"versions":["1.0.0+bedrock-1.17.10","1.1.0+bedrock-1.17.10","2.0.0+bedrock-1.17.30","3.0.0+bedrock-1.17.40","3.0.1+bedrock-1.17.40","3.0.2+bedrock-1.17.40","4.0.0+bedrock-1.17.40","4.0.1+bedrock-1.17.40","5.0.0+bedrock-1.17.40","5.1.0+bedrock-1.17.40","5.1.1+bedrock-1.17.40","5.1.2+bedrock-1.17.40","5.1.3+bedrock-1.17.40","6.0.0+bedrock-1.17.40","7.0.0+bedrock-1.18.0","7.1.0+bedrock-1.18.0","7.2.0+bedrock-1.18.0","7.3.0+bedrock-1.18.0","7.3.1+bedrock-1.18.0","8.0.0+bedrock-1.18.10","8.0.1+bedrock-1.18.10","8.0.2+bedrock-1.18.10"],"fixed":["8.0.2"]}],"sourceAffected":[],"references":["https://github.com/pmmp/BedrockProtocol/security/advisories/GHSA-5jfw-35xp-5m42","https://github.com/pmmp/BedrockProtocol/commit/e3fce7632b94e83fd6a518a87dcaf6a11681c4ac","https://github.com/pmmp/BedrockProtocol"],"sources":[{"name":"OSV","id":"GHSA-5jfw-35xp-5m42","modified":"2024-12-05T05:39:20.852353Z","url":"https://osv.dev/vulnerability/GHSA-5jfw-35xp-5m42"}],"assessments":[{"source":"OSV","vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H","score":7.5}],"products":[],"remediation":[],"kev":{"status":"unavailable","checkedAt":"2026-10-29T00:30:33.731Z"},"coverage":[{"source":"NVD","status":"not-checked"},{"source":"GHSA","status":"not-checked"},{"source":"EUVD","status":"not-checked"},{"source":"EPSS","status":"not-checked"}],"evidence":[]}