| Title | go-kratos kratos 2.9.2 Unintended Route Exposure via DefaultServeMux Fallback |
|---|
| Description | The Kratos HTTP server (`transport/http/server.go`) sets `http.DefaultServeMux` as the fallback handler for both unmatched routes (`NotFoundHandler`) and disallowed methods (`MethodNotAllowedHandler`).
In Go, `http.DefaultServeMux` is a global, shared ServeMux instance. Numerous standard library and third-party packages automatically register handlers on it during `init()`. The most notable example is `net/http/pprof`, which registers debug profiling endpoints. Kratos itself ships a pprof wrapper package (`transport/http/pprof`) that imports `net/http/pprof`. |
|---|
| Source | ⚠️ https://github.com/go-kratos/kratos/issues/3810 |
|---|
| User | Yu_Bao (UID 89348) |
|---|
| Submission | 04/04/2026 15:51 (21 days ago) |
|---|
| Moderation | 04/24/2026 21:43 (20 days later) |
|---|
| Status | Accepted |
|---|
| VulDB entry | 359545 [go-kratos up to 2.9.2 http.DefaultServeMux Fallback transport/http/server.go NewServer confused deputy] |
|---|
| Points | 20 |
|---|