Uh oh!
There was an error while loading. Please reload this page.
[branch-4.0][fix](security) Add auth and config gate for _stream_load_forward endpoint - #65376
Conversation
…point (apache#64935) - **SSRF fix**: `_stream_load_forward` BE endpoint was registered unconditionally without authentication, allowing unauthenticated SSRF attacks - Add BE config `enable_group_commit_streamload_be_forward` (default `false`) to gate endpoint registration, matching the existing FE config name
hello-stephen
commented
Jul 8, 2026
Thank you for your contribution to Apache Doris. Please clearly describe your PR:
|
There was a problem hiding this comment.
Pull request overview
This PR (cherry-picking #64935 into branch-4.0) hardens the BE _stream_load_forward endpoint used by cloud group-commit stream load forwarding by adding a BE-side config gate and wiring the handler through an auth-capable HTTP handler.
Changes:
- Add a BE config flag
enable_group_commit_streamload_be_forward(defaultfalse) to gate the_stream_load_forwardendpoint. - Switch
_stream_load_forwardhandler toHttpHandlerWithAuthand passExecEnvduring registration. - Update the regression suite to enable the new BE config for stream load forward.
Reviewed changes
Copilot reviewed 6 out of 6 changed files in this pull request and generated 4 comments.
Show a summary per file
| File | Description |
|---|---|
| regression-test/suites/load_p0/stream_load/test_group_commit_redirect.groovy | Enables BE-side config needed for _stream_load_forward in the dockerized regression cluster. |
| be/src/service/http_service.cpp | Registers _stream_load_forward handler with ExecEnv so auth-capable handler can be constructed. |
| be/src/http/action/stream_load_forward_handler.h | Converts the handler to inherit from HttpHandlerWithAuth and sets initial privilege requirements. |
| be/src/http/action/stream_load_forward_handler.cpp | Adds config gate + invokes HttpHandlerWithAuth during header processing. |
| be/src/common/config.h | Declares new BE config enable_group_commit_streamload_be_forward. |
| be/src/common/config.cpp | Defines new BE config enable_group_commit_streamload_be_forward with default false. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Uh oh!
There was an error while loading. Please reload this page.
| class StreamLoadForwardHandler : public HttpHandlerWithAuth { | ||
| public: | ||
| StreamLoadForwardHandler() = default; | ||
| explicit StreamLoadForwardHandler(ExecEnv* exec_env) | ||
| : HttpHandlerWithAuth(exec_env, TPrivilegeHier::GLOBAL, TPrivilegeType::LOAD) {} | ||
| ~StreamLoadForwardHandler() override = default; |
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
liaoxin01
commented
Jul 8, 2026
run buildall |
Uh oh!
There was an error while loading. Please reload this page.
Pick #64935