Kirby processes uploaded image files using PHP's getimagesize() function without validating its return value. When a malformed file is uploaded with a valid image extension (e.g. .jpg), getimagesize() returns false instead of an array. The application then triggers a fatal TypeError during thumbnail generation or metadata processing.
The crash persists across page reloads until the file is manually removed from the filesystem.
Impact
Any Editor-role user (non-admin) can trigger the DoS condition.
Affected pages return HTTP 500 until the file is removed manually.