Fix user-linking, XSS, and port allocation bugs; complete translations - #58
Open
RATR2 wants to merge 1 commit into
Open
Fix user-linking, XSS, and port allocation bugs; complete translations#58RATR2 wants to merge 1 commit into
RATR2 wants to merge 1 commit into
Conversation
RATR2
commented
Aug 13, 2026
- getPterodactylUser() trusted a colliding external_id with no verification, which could hand a customer's new server to an unrelated existing panel account; now requires the email to match before trusting the match
- Fixed reflected XSS in the client area server-action links - unescaped $_SERVER host/URI was reflected straight into inline onclick JS
- Scoped AdminAreaHeadOutput/AdminAreaFooterOutput hooks to only load the module's assets on relevant admin pages instead of every admin page
- Reworked CreateAccount to resolve the exact node/ports up front and fail fast if unavailable, instead of letting Pterodactyl auto-deploy and then reconciling/swapping allocations afterward; this also removes a bug where the swap step sent the same allocation id as both primary and additional
- Added the missing direct-access guard to helper.php, matching hooks.php
- PreDeleteClient/ClientClose compared an API response array against the literal int 404, which is always true; now checks status_code correctly
- Filled in translation keys missing from several language files (German, Danish, Dutch, French, Polish, Portuguese, Traditional Chinese) that were never updated after newer strings were added, and fixed a handful of typos (German "EZWINGEN", Polish "ZRESERTUJ"/"napewno"/"istneje")
- getPterodactylUser() trusted a colliding external_id with no verification, which could hand a customer's new server to an unrelated existing panel account; now requires the email to match before trusting the match - Fixed reflected XSS in the client area server-action links - unescaped $_SERVER host/URI was reflected straight into inline onclick JS - Scoped AdminAreaHeadOutput/AdminAreaFooterOutput hooks to only load the module's assets on relevant admin pages instead of every admin page - Reworked CreateAccount to resolve the exact node/ports up front and fail fast if unavailable, instead of letting Pterodactyl auto-deploy and then reconciling/swapping allocations afterward; this also removes a bug where the swap step sent the same allocation id as both primary and additional - Added the missing direct-access guard to helper.php, matching hooks.php - PreDeleteClient/ClientClose compared an API response array against the literal int 404, which is always true; now checks status_code correctly - Filled in translation keys missing from several language files (German, Danish, Dutch, French, Polish, Portuguese, Traditional Chinese) that were never updated after newer strings were added, and fixed a handful of typos (German "EZWINGEN", Polish "ZRESERTUJ"/"napewno"/"istneje")
Author
Author
|
To expand on why I'd suggest taking this one over #57 rather than both: the admin asset-loading fix in this PR covers the same ground as #57 (unconditional What else is in here, and why: Security/correctness
Reliability
Translations
Happy to split any of this into separate PRs if that's easier to review in pieces. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.