The default error mapping in all three backends serializes the thrown error's message into the 500 response body:
FastifyBackend.writeError
ExpressBackend error middleware
HonoBackend app.onError
For non-HttpError throws this leaks internal details (stack-adjacent messages, driver errors, file paths) to clients — an information-disclosure wart.
Fix
Should land before 1.0. Add a Security CHANGELOG entry.
The default error mapping in all three backends serializes the thrown error's
messageinto the 500 response body:FastifyBackend.writeErrorExpressBackenderror middlewareHonoBackendapp.onErrorFor non-
HttpErrorthrows this leaks internal details (stack-adjacent messages, driver errors, file paths) to clients — an information-disclosure wart.Fix
{ error: 'Internal Server Error' }; the real message goes to the logger only.ServerBuilder.withErrorHandler(feat(http): error-handling & fallback routes + HTML/XSS response utilities #352).Should land before 1.0. Add a Security CHANGELOG entry.