This is an automated email from the ASF dual-hosted git repository.

luwei16 pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/doris.git


The following commit(s) were added to refs/heads/master by this push:
     new 972cedb7486 [fix](security) Mask private key password in backend 
configuration (#66836)
972cedb7486 is described below

commit 972cedb748630f3296442556c2ec8cde2604d035
Author: dzr171712 <[email protected]>
AuthorDate: Wed Aug 19 14:54:31 2026 +0800

    [fix](security) Mask private key password in backend configuration (#66836)
    
    Problem Summary:
    
    The `tls_private_key_password` configuration value is exposed in
    plaintext through `information_schema.backend_configuration`.
    
    The value is collected by `config::get_config_info()` from the BE
    configuration map and returned without masking. Since the default role
    has read access to `information_schema.*`, an authenticated user can
    query the table and obtain the TLS private key password.
    
    This change masks `tls_private_key_password` as `******` at the shared
    configuration export layer. The masking applies to
    `information_schema.backend_configuration` and other output paths that
    reuse `get_config_info()`, while preserving the configuration name,
    type, and mutability fields.
    
    ### Release note
    
    None
    
    ### Check List (For Author)
    
    - Test <!-- At least one of them must be included. -->
      - [ ] Regression test
      - [ ] Unit Test
      - [ ] Manual test (add detailed scripts or steps below)
      - [x] No need to test or manual test. Explain why:
        - [ ] This is a refactor/code format and no logic has been changed.
        - [ ] Previous test can cover this change.
        - [ ] No code files have been changed.
    - [x] Other reason: The change is limited to replacing one sensitive
    configuration value at the shared output point. `clang-format`, `git
    diff --check`, and `config.cpp` compilation passed.
    
    - Behavior changed:
      - [ ] No.
    - [x] Yes. `tls_private_key_password` is now returned as `******`
    instead of its plaintext value.
---
 be/src/common/config.cpp | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/be/src/common/config.cpp b/be/src/common/config.cpp
index a6b86212f3c..5df2edfa20c 100644
--- a/be/src/common/config.cpp
+++ b/be/src/common/config.cpp
@@ -2553,6 +2553,9 @@ std::vector<std::vector<std::string>> get_config_info() {
         if (it.first == "sys_log_dir" && config_val == "") {
             config_val = fmt::format("{}/log", std::getenv("DORIS_HOME"));
         }
+        if (it.first == "tls_private_key_password") {
+            config_val = "******";
+        }
 
         _config.emplace_back(field_it->second.type);
         if (0 == strcmp(field_it->second.type, "bool")) {


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to