Weave Code
Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Pterodactyl Addon Laravel Package

pteroca-com/pterodactyl-addon

Pterodactyl addon for Pteroca that connects Pterodactyl game-server management with Pteroca hosting workflows. It provides Laravel/PHP integration for panel features, helping streamline provisioning and administration for game-server deployments.

View on GitHub
Deep Wiki
Context7

Technical Evaluation

Architecture fit

  • PteroCA's Pterodactyl addon is a Composer package installed into the Pterodactyl panel tree (/var/www/pterodactyl), not a standalone service. It couples the billing/SSO layer (PteroCA) to the game panel by extending the panel's Laravel routes, middleware, and views.
  • That coupling is the core architectural consideration: the addon sits directly on the authentication and user-provisioning path. Anything that breaks here breaks customer login and automated account creation — not just an ancillary feature.
  • It relies on Pterodactyl's Application API with users read/write, which is a privileged integration surface. Treat the addon as security-critical infrastructure, not a convenience plugin.

Integration feasibility

  • Integration mechanics are simple and well-documented: composer require pteroca-com/pterodactyl-addon:^0.1.4, then php artisan optimize:clear. No configuration changes required in PteroCA, and the existing Application API key scope already satisfies the new requirements.
  • Feasible for a team already operating the panel via Composer and a deployment pipeline. The real cost is validation, not installation.
  • Verified matrix is narrow: tested only on Pterodactyl 1.11.11 and 1.15.1. We must confirm our exact panel version before scheduling.

Technical risk

  • This is a critical security release (CVSS 9.9) affecting all installs at 0.1.3 or earlier. The class of defect — API key endpoints on /api/application/* reachable without admin-only middleware, key creation/deletion lacking root_admin and write permission, weak SSO token validation (no expiry, unset secret accepted, open post-login redirects) — describes a privilege-escalation and account-takeover chain, not a nuisance bug.
  • No prior assessment exists, which means we have no baseline. We are establishing one under incident conditions, and we cannot yet state our exposure window or whether exploitation occurred.
  • Pre-1.0 versioning (v0.1.x). No semver stability guarantee; minor bumps can carry behavior changes. The authorization tightening in this release is functionally a semi-breaking change for any automation that previously called these endpoints without a root_admin identity.
  • Redirect hardening is a behavior change users will notice. Post-login redirects are now restricted to same-site paths; any customization relying on external or absolute return URLs will silently degrade.
  • Mandatory token expiry means previously issued non-expiring SSO tokens become invalid or must be re-minted — this can cause login failures if not staged.

Key questions

  1. What was the exact date each environment moved to 0.1.3 or earlier, and were the addon's /api/application/* routes publicly reachable during that window?
  2. Do we have logs sufficient to detect unauthorized key creation, root_admin grants, or SSO token abuse during the exposure window?
  3. Are any non-admin service accounts, CI jobs, or integrations calling these endpoints? They will break under the new root_admin requirement.
  4. What is the maintainer's security response SLA and disclosure process — advisory publication, CVE/GHSA assignment, patch turnaround? This release is a positive signal (coordinated advisory, credited reporter), but we need a repeatable expectation.
  5. Is there a supported-version policy for the 0.1.x line, and what is the expected path to 1.0?
  6. Do any of our SSO customizations depend on non-same-site redirect targets?

Integration Approach

Stack fit

  • Laravel/PHP package compatible with the Pterodactyl panel's own Laravel runtime; no separate process, database, or queue to operate. Installs via Composer and inherits the panel's config, auth, and middleware stack.
  • Compatible in principle with 1.11.x and 1.15.x per the release notes; must be validated against our pinned panel version.

Migration path

  • Pin explicitly to ^0.1.4 (or exact 0.1.4 if we want determinism) and commit composer.lock. The upgrade itself is a dependency bump plus cache clear — no config migration, no schema migration mentioned.
  • Deploy through the same pipeline that builds the panel image rather than hand-editing the production host, so the change is reproducible and reviewable.
  • Capture a pre-upgrade backup of the panel database and .env (which holds the Application API key and the SSO secret), since the SSO secret must now be set.

Compatibility

  • Confirm panel version against the tested matrix before scheduling; if we are outside 1.11.11–1.15.1, treat as unsupported and require a staging bake.
  • Check for route/middleware collisions with any theme or other addon that also touches application-api routes.
  • Verify third-party automation (scripts, IaC, monitoring) against the new authz requirements.

Sequencing

  1. Triage first, upgrade second. Scope exposure: which environments, from when to when, and whether the routes were reachable. Preserve logs before any deploy that might rotate them.
  2. Audit identities now, in parallel. Enumerate administrator accounts and their API keys; look for unexpected root_admin users. This can be done before the patch and informs incident classification.
  3. Stage the upgrade on a non-production clone of our panel version; exercise SSO login, user create/delete, API key create/delete, and the redirect behavior.
  4. Production deploy in a maintenance window with backups and a documented rollback (restore composer.lock to prior pin — noting rollback re-opens the vulnerability, so rollback should be a forward-fix, not a revert).
  5. Post-deploy remediation: revoke unrecognized API keys, remove unexpected root_admin accounts, and rotate the PteroCA Application API key and SSO secret as a precaution if exposure is suspected.
  6. Re-test the fixed path: key deletion on panel 1.11+ previously returned HTTP 500; confirm the fix in our environment as part of acceptance.

Operational Impact

Maintenance

  • Ongoing cost is low in absolute terms but security-sensitive: a Composer dependency on a small maintainer org, on the panel's most privileged integration path.
  • Establish a standing watch process: composer audit in CI, Dependabot/Renovate on the addon, and subscriptions to the repo's GHSA feed. Given the version cadence, budget a recurring review slot rather than reacting per-release.
  • Track the addon version against the panel version explicitly — panel upgrades should require an addon compatibility check as a release gate.

Support

  • Effectively self-supported. There is no evidence of a commercial support tier; the maintainer's responsiveness is demonstrated by the advisory and credited-report handling, which is reassuring but not contractual.
  • Internal support burden concentrates in two areas: SSO/login troubleshooting and API key lifecycle questions. Both need a documented runbook, since the failure symptoms are user-facing.

Scaling

  • Load profile is trivial — auth and user-provisioning endpoints, low request volume relative to the panel itself. No scaling concerns from the addon.
  • The availability concern is not throughput but criticality: SSO is on the login path for every PteroCA user. A failure here is a full customer-facing outage of account access even though the panel itself is healthy. Apply edge rate limiting on the auth/SSO endpoints and monitor them as a tier-1 dependency.

Failure modes

  • Under-privileged automation: non-root_admin callers of the addon API now receive authorization failures. Silent breakage risk for scripts and CI.
  • Expired or invalid SSO tokens: enforcement of expiry plus mandatory secret can invalidate existing sessions; expect a login-failure spike if not staged.
  • Redirect rejection: custom return URLs outside the site are now clamped to same-site paths, producing confusing post-login landings rather than errors.
  • Missing SSO secret: hardened validation will fail closed — a deployment that omits the secret will break login entirely.
  • Panel upgrade drift: the addon is not in lockstep with Pterodactyl releases; a panel upgrade can break the addon before the addon ships a fix.
  • Supply-chain exposure: the pre-0.1.4 vulnerability itself is the failure mode we are currently remediating, and the residual risk is unquantified until exposure is scoped.

Ramp-up

  • Installation ramp-up is minimal (one Composer command, one cache clear). Operational ramp-up is moderate: whoever owns this needs a working mental model of Pterodactyl's Application API permissions, root_admin semantics, and the SSO token lifecycle.
  • Recommend at least two engineers briefed, given the on-call implications of an auth-path dependency in a pre-1.0 package.
  • Recommendation: treat this release as a mandatory, scheduled security remediation with an attached incident review — not a routine dependency bump. Approve continued use of the addon contingent on (a) completed exposure scoping and credential rotation, and (b) a documented upgrade-watch process before the next panel upgrade.
Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
tequilarapido/trackit
gregsphotography/site-builder-filament
cabaoctavio/laravel-query-log
gregsphotography/site-builder-components
io-digital/clickatell
snowsoft/laravel-admin
oxygen/auth
relicsoftware/barakah-payment-gateway
tobya/work-with-composer
equipc/laravel-email-validator
equipc/laravel-email-database-log
adedsec/nova-translated-labels
wazza/laravel-db-encryption
hokny/laravel-generator
vonsogt/backup
jengo/queues
jeremykenedy/laravel-observability
coleus/frame
thtg88/journalism
filagora/filagora-ai-forums