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

MSAN: use-of-uninitialized-value in krb5_kt_resolve upon INSTALL SONAME 'auth_gssapi';

    XMLWordPrintable

Details

    • Can result in unexpected behaviour

    Description

      Please note you will need fully instrumented MSAN libs to be able to install auth_gssapi.

      INSTALL SONAME 'auth_gssapi';
      

      Leads to:

      CS 13.1.0 fd8cec54af7a9d79749df25ea70dac695b371641 (Debug, MSAN, Clang 20.1.8-20250804) Build 07/07/2026

      ==1015387==WARNING: MemorySanitizer: use-of-uninitialized-value
          #0 0x7fffb82bc606 in krb5_kt_resolve /MSAN_libs/build/krb5-1.20.1/src/lib/krb5/keytab/ktbase.c:163:10
          #1 0x7fffb82c517d in krb5_kt_read_service_key /MSAN_libs/build/krb5-1.20.1/src/lib/krb5/keytab/read_servi.c:69:19
          #2 0x7fffe6a176ad in get_default_principal_name() /test/13.1_dbg_msan/plugin/auth_gssapi/gssapi_server.cc:66:7
          #3 0x7fffe6a176ad in plugin_init() /test/13.1_dbg_msan/plugin/auth_gssapi/gssapi_server.cc:110:25
          #4 0x7fffe6a16b9c in initialize_plugin(void*) /test/13.1_dbg_msan/plugin/auth_gssapi/server_plugin.cc:73:8
          #5 0x55555740abb2 in plugin_do_initialize(st_plugin_int*, unsigned int&) /test/13.1_dbg_msan/sql/sql_plugin.cc:1464:18
          #6 0x555557408b18 in plugin_initialize(st_mem_root*, st_plugin_int*, int*, char**, bool) /test/13.1_dbg_msan/sql/sql_plugin.cc:1518:10
          #7 0x555557411337 in finalize_install(THD*, TABLE*, st_mysql_const_lex_string const*, int*, char**) /test/13.1_dbg_msan/sql/sql_plugin.cc:2247:9
          #8 0x55555740f6f5 in mysql_install_plugin(THD*, st_mysql_const_lex_string const*, st_mysql_const_lex_string const*) /test/13.1_dbg_msan/sql/sql_plugin.cc:2354:11
          #9 0x5555573a59c6 in mysql_execute_command(THD*, bool) /test/13.1_dbg_msan/sql/sql_parse.cc:5804:17
          #10 0x555557394b92 in mysql_parse(THD*, char*, unsigned int, Parser_state*) /test/13.1_dbg_msan/sql/sql_parse.cc:7945:18
          #11 0x55555738e377 in dispatch_command(enum_server_command, THD*, char*, unsigned int, bool) /test/13.1_dbg_msan/sql/sql_parse.cc:1903:7
          #12 0x55555739564e in do_command(THD*, bool) /test/13.1_dbg_msan/sql/sql_parse.cc:1437:17
          #13 0x5555578b22ac in do_handle_one_connection(CONNECT*, bool) /test/13.1_dbg_msan/sql/sql_connect.cc:1510:11
          #14 0x5555578b1c42 in handle_one_connection /test/13.1_dbg_msan/sql/sql_connect.cc:1422:5
          #15 0x7fffe689ca93 in start_thread nptl/pthread_create.c:447:8
          #16 0x7fffe6929c3b in clone3 misc/../sysdeps/unix/sysv/linux/x86_64/clone3.S:78
       
        Uninitialized value was created by an allocation of 'buff' in the stack frame
          #0 0x5555589f37b8 in unpack_dirname /test/13.1_dbg_msan/mysys/mf_pack.c:337:3
       
      SUMMARY: MemorySanitizer: use-of-uninitialized-value /MSAN_libs/build/krb5-1.20.1/src/lib/krb5/keytab/ktbase.c:163:10 in krb5_kt_resolve
      

      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|lib/krb5/keytab/ktbase.c|krb5_kt_resolve|krb5_kt_read_service_key|get_default_principal_name|plugin_init
      CS  10.6   opt  060726  736edbe77ce5db44ea38347280f77d6a304fa3ae  MSAN|use-of-uninitialized-value|lib/krb5/keytab/ktbase.c|krb5_kt_resolve|krb5_kt_read_service_key|get_default_principal_name|plugin_init
      CS  10.11  dbg  060726  3a0ef69f425083d1040e0ae4c54adac0630893cb  MSAN|use-of-uninitialized-value|lib/krb5/keytab/ktbase.c|krb5_kt_resolve|krb5_kt_read_service_key|get_default_principal_name|plugin_init
      CS  10.11  opt  060726  3a0ef69f425083d1040e0ae4c54adac0630893cb  MSAN|use-of-uninitialized-value|lib/krb5/keytab/ktbase.c|krb5_kt_resolve|krb5_kt_read_service_key|get_default_principal_name|plugin_init
      CS  11.8   dbg  060726  666b2aca09cb84d59b4ece2185a9200d745cb287  MSAN|use-of-uninitialized-value|lib/krb5/keytab/ktbase.c|krb5_kt_resolve|krb5_kt_read_service_key|get_default_principal_name|plugin_init
      CS  11.8   opt  060726  666b2aca09cb84d59b4ece2185a9200d745cb287  MSAN|use-of-uninitialized-value|lib/krb5/keytab/ktbase.c|krb5_kt_resolve|krb5_kt_read_service_key|get_default_principal_name|plugin_init
      CS  12.3   dbg  060726  80ff192cb37b3b6b9dac8bd05f91312d5153bfde  MSAN|use-of-uninitialized-value|lib/krb5/keytab/ktbase.c|krb5_kt_resolve|krb5_kt_read_service_key|get_default_principal_name|plugin_init
      CS  12.3   opt  060726  80ff192cb37b3b6b9dac8bd05f91312d5153bfde  MSAN|use-of-uninitialized-value|lib/krb5/keytab/ktbase.c|krb5_kt_resolve|krb5_kt_read_service_key|get_default_principal_name|plugin_init
      CS  13.0   dbg  070726  172609526b93ac278203607274b70e6b6d8e67fd  MSAN|use-of-uninitialized-value|lib/krb5/keytab/ktbase.c|krb5_kt_resolve|krb5_kt_read_service_key|get_default_principal_name|plugin_init
      CS  13.0   opt  070726  172609526b93ac278203607274b70e6b6d8e67fd  MSAN|use-of-uninitialized-value|lib/krb5/keytab/ktbase.c|krb5_kt_resolve|krb5_kt_read_service_key|get_default_principal_name|plugin_init
      CS  13.1   dbg  070726  fd8cec54af7a9d79749df25ea70dac695b371641  MSAN|use-of-uninitialized-value|lib/krb5/keytab/ktbase.c|krb5_kt_resolve|krb5_kt_read_service_key|get_default_principal_name|plugin_init
      CS  13.1   opt  070726  fd8cec54af7a9d79749df25ea70dac695b371641  MSAN|use-of-uninitialized-value|lib/krb5/keytab/ktbase.c|krb5_kt_resolve|krb5_kt_read_service_key|get_default_principal_name|plugin_init
      ES  10.6   dbg  060726  07b87fa33b7263c3b46b1a820474f88803d25a04  MSAN|use-of-uninitialized-value|lib/krb5/keytab/ktbase.c|krb5_kt_resolve|krb5_kt_read_service_key|get_default_principal_name|plugin_init
      ES  10.6   opt  060726  07b87fa33b7263c3b46b1a820474f88803d25a04  MSAN|use-of-uninitialized-value|lib/krb5/keytab/ktbase.c|krb5_kt_resolve|krb5_kt_read_service_key|get_default_principal_name|plugin_init
      ES  11.4   dbg  060726  89bb238190d313ead3b68e508099974e3728515e  MSAN|use-of-uninitialized-value|lib/krb5/keytab/ktbase.c|krb5_kt_resolve|krb5_kt_read_service_key|get_default_principal_name|plugin_init
      ES  11.4   opt  060726  89bb238190d313ead3b68e508099974e3728515e  MSAN|use-of-uninitialized-value|lib/krb5/keytab/ktbase.c|krb5_kt_resolve|krb5_kt_read_service_key|get_default_principal_name|plugin_init
      ES  11.8   dbg  060726  97386db1d887891fb17e5210536bfe8756bae3cf  MSAN|use-of-uninitialized-value|lib/krb5/keytab/ktbase.c|krb5_kt_resolve|krb5_kt_read_service_key|get_default_principal_name|plugin_init
      ES  11.8   opt  060726  97386db1d887891fb17e5210536bfe8756bae3cf  MSAN|use-of-uninitialized-value|lib/krb5/keytab/ktbase.c|krb5_kt_resolve|krb5_kt_read_service_key|get_default_principal_name|plugin_init
      ES  12.3   dbg  060726  b96de078339ebc1995fd6185bf5433c72fedbdaf  MSAN|use-of-uninitialized-value|lib/krb5/keytab/ktbase.c|krb5_kt_resolve|krb5_kt_read_service_key|get_default_principal_name|plugin_init
      ES  12.3   opt  060726  b96de078339ebc1995fd6185bf5433c72fedbdaf  MSAN|use-of-uninitialized-value|lib/krb5/keytab/ktbase.c|krb5_kt_resolve|krb5_kt_read_service_key|get_default_principal_name|plugin_init
      

      Attachments

        Issue Links

          Activity

            People

              wlad Vladislav Vaintroub
              Roel Roel Van de Paar
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Time Tracking

                  Estimated:
                  Original Estimate - Not Specified
                  Not Specified
                  Remaining:
                  Remaining Estimate - 0d
                  0d
                  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.