Uploaded image for project: 'MariaDB Server'
  1. MariaDB Server
  2. MDEV-40351

MSAN: use-of-uninitialized-value in escape_string_hide_passwords

    XMLWordPrintable

Details

    • Can result in unexpected behaviour
    • Q4/2026 Server Maintenance

    Description

      INSTALL SONAME 'server_audit';
      SET GLOBAL server_audit_logging=ON;
      CREATE USER u IDENTIFIED BY 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa';
      SHUTDOWN;
      

      Leads to:

      CS 13.0.2 172609526b93ac278203607274b70e6b6d8e67fd (Optimized, MSAN, Clang 20.1.8-20250804) Build 07/07/2026

      ==112587==WARNING: MemorySanitizer: use-of-uninitialized-value
          #0 0x761a3239dd16 in escape_string_hide_passwords(char const*, unsigned int, char*, unsigned long, char const*, unsigned long, char const*, unsigned long, char const*, unsigned long, char) /test/13.0_opt_msan/plugin/server_audit/server_audit.cc:1382:23
          #1 0x761a3239d3b4 in log_statement_ex(connection_info*, long, unsigned long, int, char const*, unsigned int, int, char const*, int) /test/13.0_opt_msan/plugin/server_audit/server_audit.cc
          #2 0x761a32397caa in log_statement(connection_info*, mysql_event_general const*, char const*, int) /test/13.0_opt_msan/plugin/server_audit/server_audit.cc:1651:10
          #3 0x761a323965ec in auditing(THD*, unsigned int, void const*) /test/13.0_opt_msan/plugin/server_audit/server_audit.cc:1943:7
          #4 0x56a1dced35eb in plugins_dispatch(THD*, st_plugin_int*, void*) /test/13.0_opt_msan/sql/sql_audit.cc:398:5
          #5 0x56a1dced35eb in mysql_audit_notify(THD*, unsigned int, void const*) /test/13.0_opt_msan/sql/sql_audit.cc:437:7
          #6 0x56a1dca201f0 in mysql_audit_general(THD*, unsigned int, int, char const*) /test/13.0_opt_msan/sql/sql_audit.h:213:5
          #7 0x56a1dca19ec1 in dispatch_command(enum_server_command, THD*, char*, unsigned int, bool) /test/13.0_opt_msan/sql/sql_parse.cc:2463:5
          #8 0x56a1dca1e7b4 in do_command(THD*, bool) /test/13.0_opt_msan/sql/sql_parse.cc:1437:17
          #9 0x56a1dced90ec in do_handle_one_connection(CONNECT*, bool) /test/13.0_opt_msan/sql/sql_connect.cc:1510:11
          #10 0x56a1dced8a6e in handle_one_connection /test/13.0_opt_msan/sql/sql_connect.cc:1422:5
          #11 0x761a3249ca93 in start_thread nptl/pthread_create.c:447:8
          #12 0x761a32529c3b in clone3 misc/../sysdeps/unix/sysv/linux/x86_64/clone3.S:78
       
        Memory was marked as uninitialized
          #0 0x56a1dbf37971 in __msan_allocated_memory (/test/MSAN_MD070726-mariadb-13.0.2-linux-x86_64-opt/bin/mariadbd+0xf73971) (BuildId: 326ca13eecc3ed600f974ddde3ae49f549766fcb)
          #1 0x56a1ddcf185e in my_malloc /test/13.0_opt_msan/mysys/my_malloc.c:117:7
          #2 0x56a1ddcd2478 in alloc_root /test/13.0_opt_msan/mysys/my_alloc.c:294:30
          #3 0x56a1dca1f8b9 in Query_arena::memdup_w_gap(void const*, unsigned long, unsigned long) const /test/13.0_opt_msan/sql/sql_class.h:1388:9
          #4 0x56a1dca1f8b9 in alloc_query(THD*, char const*, unsigned long) /test/13.0_opt_msan/sql/sql_parse.cc:2780:30
          #5 0x56a1dca17567 in dispatch_command(enum_server_command, THD*, char*, unsigned int, bool) /test/13.0_opt_msan/sql/sql_parse.cc:1868:9
          #6 0x56a1dca1e7b4 in do_command(THD*, bool) /test/13.0_opt_msan/sql/sql_parse.cc:1437:17
          #7 0x56a1dced90ec in do_handle_one_connection(CONNECT*, bool) /test/13.0_opt_msan/sql/sql_connect.cc:1510:11
          #8 0x56a1dced8a6e in handle_one_connection /test/13.0_opt_msan/sql/sql_connect.cc:1422:5
          #9 0x761a3249ca93 in start_thread nptl/pthread_create.c:447:8
       
      SUMMARY: MemorySanitizer: use-of-uninitialized-value /test/13.0_opt_msan/plugin/server_audit/server_audit.cc:1382:23 in escape_string_hide_passwords(char const*, unsigned int, char*, unsigned long, char const*, unsigned long, char const*, unsigned long, char const*, unsigned long, char)
      

      Setup:

      Compiled with a recent version of Clang and LLVM. Ubuntu instructions for Clang/LLVM 18:
        # Note: It is strongly recommended to uninstall all old Clang & LLVM packages (ref  dpkg --list | grep -iE 'clang|llvm'  and use  apt purge  and  dpkg --purge  to remove the packages), before installing Clang/LLVM 18
           sudo apt install clang llvm-18 llvm-18-linker-tools llvm-18-runtime llvm-18-tools llvm-18-dev libstdc++-14-dev llvm-dev lld-18
      Compiled with: "-DCMAKE_C_COMPILER=/usr/bin/clang -DCMAKE_CXX_COMPILER=/usr/bin/clang++ -DCMAKE_C{,XX}_FLAGS='-march=native -mtune=native'" and:
          -DWITH_MSAN=ON  # Note: WITH_MSAN=ON is auto-ignored when not using clang (MDEV-20377)
      Set before execution:
          export MSAN_OPTIONS=abort_on_error=1:poison_in_dtor=0
      

      MSAN Bug Detection Matrix

          Rel    o/d  Build   Commit                                    UniqueID observed             
      CS  10.6   dbg  060726  736edbe77ce5db44ea38347280f77d6a304fa3ae  MSAN|use-of-uninitialized-value|plugin/server_audit/server_audit.c|escape_string_hide_passwords|log_statement_ex|log_statement|auditing
      CS  10.6   opt  060726  736edbe77ce5db44ea38347280f77d6a304fa3ae  MSAN|use-of-uninitialized-value|plugin/server_audit/server_audit.c|escape_string_hide_passwords|log_statement_ex|log_statement|auditing
      CS  10.11  dbg  060726  3a0ef69f425083d1040e0ae4c54adac0630893cb  MSAN|use-of-uninitialized-value|plugin/server_audit/server_audit.c|escape_string_hide_passwords|log_statement_ex|log_statement|auditing
      CS  10.11  opt  060726  3a0ef69f425083d1040e0ae4c54adac0630893cb  MSAN|use-of-uninitialized-value|plugin/server_audit/server_audit.c|escape_string_hide_passwords|log_statement_ex|log_statement|auditing
      CS  11.8   dbg  060726  666b2aca09cb84d59b4ece2185a9200d745cb287  MSAN|use-of-uninitialized-value|plugin/server_audit/server_audit.c|escape_string_hide_passwords|log_statement_ex|log_statement|auditing
      CS  11.8   opt  060726  666b2aca09cb84d59b4ece2185a9200d745cb287  MSAN|use-of-uninitialized-value|plugin/server_audit/server_audit.c|escape_string_hide_passwords|log_statement_ex|log_statement|auditing
      CS  12.3   dbg  060726  80ff192cb37b3b6b9dac8bd05f91312d5153bfde  MSAN|use-of-uninitialized-value|plugin/server_audit/server_audit.cc|escape_string_hide_passwords|log_statement_ex|log_statement|auditing
      CS  12.3   opt  060726  80ff192cb37b3b6b9dac8bd05f91312d5153bfde  MSAN|use-of-uninitialized-value|plugin/server_audit/server_audit.cc|escape_string_hide_passwords|log_statement_ex|log_statement|auditing
      CS  13.0   dbg  070726  172609526b93ac278203607274b70e6b6d8e67fd  MSAN|use-of-uninitialized-value|plugin/server_audit/server_audit.cc|escape_string_hide_passwords|log_statement_ex|log_statement|auditing
      CS  13.0   opt  070726  172609526b93ac278203607274b70e6b6d8e67fd  MSAN|use-of-uninitialized-value|plugin/server_audit/server_audit.cc|escape_string_hide_passwords|log_statement_ex|log_statement|auditing
      CS  13.1   dbg  070726  fd8cec54af7a9d79749df25ea70dac695b371641  MSAN|use-of-uninitialized-value|plugin/server_audit/server_audit.cc|escape_string_hide_passwords|log_statement_ex|log_statement|auditing
      CS  13.1   opt  070726  fd8cec54af7a9d79749df25ea70dac695b371641  MSAN|use-of-uninitialized-value|plugin/server_audit/server_audit.cc|escape_string_hide_passwords|log_statement_ex|log_statement|auditing
      ES  10.6   dbg  060726  07b87fa33b7263c3b46b1a820474f88803d25a04  MSAN|use-of-uninitialized-value|plugin/server_audit/server_audit.c|escape_string_hide_passwords|log_statement_ex|log_statement|auditing
      ES  10.6   opt  060726  07b87fa33b7263c3b46b1a820474f88803d25a04  MSAN|use-of-uninitialized-value|plugin/server_audit/server_audit.c|escape_string_hide_passwords|log_statement_ex|log_statement|auditing
      ES  11.4   dbg  060726  89bb238190d313ead3b68e508099974e3728515e  MSAN|use-of-uninitialized-value|plugin/server_audit/server_audit.cc|escape_string_hide_passwords|log_statement_ex|log_statement|auditing
      ES  11.4   opt  060726  89bb238190d313ead3b68e508099974e3728515e  MSAN|use-of-uninitialized-value|plugin/server_audit/server_audit.cc|escape_string_hide_passwords|log_statement_ex|log_statement|auditing
      ES  11.8   dbg  060726  97386db1d887891fb17e5210536bfe8756bae3cf  MSAN|use-of-uninitialized-value|plugin/server_audit/server_audit.cc|escape_string_hide_passwords|log_statement_ex|log_statement|auditing
      ES  11.8   opt  060726  97386db1d887891fb17e5210536bfe8756bae3cf  MSAN|use-of-uninitialized-value|plugin/server_audit/server_audit.cc|escape_string_hide_passwords|log_statement_ex|log_statement|auditing
      ES  12.3   dbg  060726  b96de078339ebc1995fd6185bf5433c72fedbdaf  MSAN|use-of-uninitialized-value|plugin/server_audit/server_audit.cc|escape_string_hide_passwords|log_statement_ex|log_statement|auditing
      ES  12.3   opt  060726  b96de078339ebc1995fd6185bf5433c72fedbdaf  MSAN|use-of-uninitialized-value|plugin/server_audit/server_audit.cc|escape_string_hide_passwords|log_statement_ex|log_statement|auditing
      

      Attachments

        Activity

          People

            rucha174 Rucha Deodhar
            Roel Roel Van de Paar
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:

              Time Tracking

                Estimated:
                Original Estimate - Not Specified
                Not Specified
                Remaining:
                Remaining Estimate - Not Specified
                Not Specified
                Logged:
                Time Spent - 0.25d
                0.25d

                Git Integration

                  Error rendering 'com.xiplink.jira.git.jira_git_plugin:git-issue-webpanel'. Please contact your Jira administrators.