[Bug 1594748] Re: CRYPTO_set_mem_functions() is broken

Joy Latten joy.latten at canonical.com
Tue Jun 21 17:35:47 UTC 2016


Ok, this is also "broken" or an issue in upstream openssl 1.0.2 when OPENSSL_FIPS is defined. 
See, https://rt.openssl.org/Ticket/Display.html?id=4559#txn-68189 or
http://rt.openssl.org/Ticket/Display.html?id=4559

** Bug watch added: OpenSSL RT #4559
   http://rt.openssl.org/Ticket/Display.html?id=4559

-- 
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to openssl in Ubuntu.
https://bugs.launchpad.net/bugs/1594748

Title:
  CRYPTO_set_mem_functions() is broken

Status in openssl package in Ubuntu:
  New

Bug description:
  Description:	Ubuntu 16.04 LTS
  Release:	16.04

  openssl:
    Installed: 1.0.2g-1ubuntu4.1
    Candidate: 1.0.2g-1ubuntu4.1
    Version table:
   *** 1.0.2g-1ubuntu4.1 500
          500 http://fi.archive.ubuntu.com/ubuntu xenial-updates/main amd64 Packages
          500 http://security.ubuntu.com/ubuntu xenial-security/main amd64 Packages
          100 /var/lib/dpkg/status
       1.0.2g-1ubuntu4 500
          500 http://fi.archive.ubuntu.com/ubuntu xenial/main amd64 Packages

  CRYPTO_set_mem_functions() always returns 0 because library
  initialization already calls CRYPTO_malloc() and disables it:

  #0  CRYPTO_malloc (num=num at entry=1168, file=file at entry=0x7ffff70ae02c "fips_drbg_lib.c",
      line=line at entry=106) at mem.c:329
  #1  0x00007ffff70596df in FIPS_drbg_new (type=type at entry=0, flags=flags at entry=0)
      at fips_drbg_lib.c:106
  #2  0x00007ffff705aeb9 in FIPS_drbg_health_check (
      dctx=dctx at entry=0x7ffff731c960 <ossl_dctx>) at fips_drbg_selftest.c:760
  #3  0x00007ffff70595f0 in FIPS_drbg_init (dctx=dctx at entry=0x7ffff731c960 <ossl_dctx>,
      type=<optimized out>, flags=<optimized out>) at fips_drbg_lib.c:94
  #4  0x00007ffff6fe38f3 in RAND_init_fips () at rand_lib.c:287
  #5  0x00007ffff6f26f7a in OPENSSL_init_library () at o_init.c:119
  #6  0x00007ffff7de74ea in call_init (l=<optimized out>, argc=argc at entry=1,
      argv=argv at entry=0x7fffffffe5e8, env=env at entry=0x7fffffffe5f8) at dl-init.c:72
  #7  0x00007ffff7de75fb in call_init (env=0x7fffffffe5f8, argv=0x7fffffffe5e8, argc=1,
      l=<optimized out>) at dl-init.c:30
  #8  _dl_init (main_map=main_map at entry=0x640380, argc=1, argv=0x7fffffffe5e8,
      env=0x7fffffffe5f8) at dl-init.c:120

  This doesn't happen in upstream OpenSSL or in Debian's OpenSSL.
  Looking at the patches, this is caused by FIPS_drbg_init() in
  openssl-1.0.2g-fips.patch:

  +    if (!(dctx->xflags & DRBG_FLAG_TEST)) {
  +        if (!FIPS_drbg_health_check(dctx)) {
  +            FIPSerr(FIPS_F_FIPS_DRBG_INIT, FIPS_R_SELFTEST_FAILURE);
  +            return 0;
  +        }
  +    }

  I don't want any FIPS mode enabled though, so does it really even need
  to call RAND_init_fips() then?

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/openssl/+bug/1594748/+subscriptions



More information about the foundations-bugs mailing list