Skip to main content

PocketMine-MP EUVDEUVD-2025-210881

| CVE-2025-71418 MEDIUM
Uncontrolled Resource Consumption (CWE-400)
2026-09-09 VulnCheck GHSA-3rp9-crcm-7w78
6.9
CVSS 4.0 · Vendor: VulnCheck
Share

Severity by source

Vendor (VulnCheck) PRIMARY
6.9 MEDIUM
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:L/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
vuln.today AI
5.3 MEDIUM

Network-reachable with no auth or user interaction; availability impact assessed Low given vendor-confirmed decompression limits bound exploitability; no confidentiality or integrity impact.

3.1 AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L
4.0 AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:L/SC:N/SI:N/SA:N

Primary rating from Vendor (VulnCheck).

CVSS VectorVendor: VulnCheck

Attack Vector
Network
Attack Complexity
Low
Privileges Required
None
User Interaction
None
Scope
X

Lifecycle Timeline

3
Source Code Evidence Fetched
Sep 09, 2026 - 14:57 vuln.today
Analysis Generated
Sep 09, 2026 - 14:57 vuln.today
CVE Published
Sep 09, 2026 - 13:31 cve.org
MEDIUM 6.9

DescriptionCVE.org

PocketMine-MP versions before 5.25.2 fail to limit the explode() function in packet parsing, allowing malicious clients to waste server resources. Attackers can send crafted packets with excessive delimiters to consume CPU and memory through sign editing, JWT parsing, and command parsing endpoints.

AnalysisAI

Resource exhaustion in PocketMine-MP before 5.25.2 allows unauthenticated Bedrock clients to degrade server availability by submitting crafted packets containing excessive delimiter characters across sign editing, JWT login, and command parsing endpoints. The root cause is PHP explode() being called without a limit parameter in multiple packet-handling paths, causing the server to allocate unbounded memory arrays proportional to delimiter count in attacker-controlled input. No CISA KEV listing exists, but a proof-of-concept is publicly available via the vendor's GitHub security advisory (GHSA-g274-c6jj-h78p); vendor assessment notes real-world impact is partially mitigated by existing packet decompression size limits already enforced upstream.

Technical ContextAI

PocketMine-MP is a PHP-based Minecraft Bedrock Edition server implementation (CPE: cpe:2.3:a:pmmp:pocketmine-mp:*:*:*:*:*:*:*:*). The root cause (CWE-400: Uncontrolled Resource Consumption) is PHP's explode() function, which when invoked without a limit parameter allocates a PHP array whose element count is determined entirely by how many delimiter occurrences the input string contains - an attacker-controlled value. Three distinct packet-handling paths were exploitable: BlockActorDataPacket for sign editing (splitting on \n in Sign.php and SignText.php), JwtUtils.php for LoginPacket JWT header parsing (splitting on .), and command permission string parsing in Command.php (splitting on ;). The fix in commit d0d84d4c5195fb0a68ea7725424fda63b85cd831 adds explicit limit arguments to all affected explode() calls and introduces a PHPStan static analysis rule (ExplodeLimitRule) to prevent future regressions across the codebase. This is a recurrence of a prior class of issue documented in GHSA-gj94-v4p9-w672, indicating a systemic pattern in how the codebase used this PHP built-in.

RemediationAI

Upgrade to PocketMine-MP 5.25.2, which incorporates the fix from commit d0d84d4c5195fb0a68ea7725424fda63b85cd831; Composer users should run composer require pocketmine/pocketmine-mp:^5.25.2. The vendor advisory is at https://github.com/pmmp/PocketMine-MP/security/advisories/GHSA-g274-c6jj-h78p. If an immediate upgrade is not possible, the vendor-recommended workaround is to deploy a server plugin that pre-processes BlockActorDataPacket to reject incoming sign text containing more than 4 newline-delimited parts - this closes the sign editing vector but does not address JWT or command parsing paths, which remain open. Network-level rate limiting on the Bedrock UDP port (default 19132) can reduce sustained attack throughput but does not eliminate the vulnerability since each individual malicious packet independently triggers the unbounded string split.

Share

EUVD-2025-210881 vulnerability details – vuln.today

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy