{{ message }}
Repository navigation
v0.7.73 ~ "Security: PHP2Shell, and phone sign-ups keep their number"
Highlights
- Security: PHP2Shell (CVE-2026-109618, CVE-2026-109619). Two critical bugs in PHP itself let an unauthenticated request run code on the server. They affect every PHP install serving web requests, FrankenPHP included. The API image is now built on FrankenPHP 1.13.2, which ships the fixed PHP 8.2.35. The image also bounds
post_max_size(it was unlimited) and turns offsession.upload_progress, both of which narrow the known attack paths, and the build fails if the PHP it ships is older than 8.2.35. FrankenPHP 1.13.2 also fixes a worker-mode leak, where the last error from one request could be read by the next request on the same thread. Self-hosted installs should upgrade right away. (PHP advisory) mysql:createdbworks on a fresh install again. It failed with "Unknown database", because a connection opened at boot still had the not-yet-created schema selected. (core-api #318)- Storefront: phone sign-up saves the number. Customers who signed up with a phone number and texted code got an account without that number, so they were asked to verify it again, couldn't sign back in by phone, and the same number could sign up twice. The verified number is now saved on the account and marked verified. (storefront #161)
Component Versions
console:0.7.73core-api:1.6.73fleetops:0.6.74storefront:0.4.29registry-bridge:0.1.11ledger:0.0.13customer-portal:0.0.16dev-engine:0.2.18ember-ui:0.4.6ember-core:0.3.26fleetops-data:0.2.3iam-engine:0.1.13
Core API 1.6.73
- Fix:
mysql:createdbon a fresh install (#318):Setting::doesntHaveConnection()runs at boot and caches amysqlconnection with the configured schema selected. The command cleared the schema in config, but the cached connection kept it, soCREATE DATABASEfailed. The command now purges the connection before eachCREATE DATABASEand after restoring the schema, andSetting::hasConnection()purges a connection whose check failed.
Storefront 0.4.29
- Fix: phone sign-up keeps the verified number (#161): the app sends the number as the
identitythe code was filed under, and account creation only readphone. The verified identity is now the phone on the user and the customer contact, withphone_verified_atset, and an existing user's matching number is marked verified too. Aphonesent alongside still takes precedence. Email sign-up is unchanged.
Upgrade Steps
- Pull the new images and restart every API, queue, scheduler and events container. A PHP fix only applies once the old workers are gone.
- Request bodies are now capped at 610M (
post_max_size). Uploads stay capped at 600M as before. - If you used the standalone binary, download the rebuilt v0.7.73 binary. Earlier binaries embed a vulnerable PHP.
- If you worked around the
createdbbug with an override ofCreateDatabaseinapi/app/Console/Commands, remove it and its binding inAppServiceProvider. - Customers who signed up by phone before this release have no phone saved. The app asks them to add it once (Storefront App v0.1.1 also asks at checkout).
- No migrations in this release.
Need help?
Join the discussion on GitHub Discussions or drop by #fleetbase on Discord
