Further analysis of why config files are being loaded twice shows that these are bugs in curl and wget, both call CONF_modules_load_file directly during their initialization functions, while it is also being called from OPENSSL_init_crypto and similar top-level functions: For wget: (gdb) bt #0 CONF_modules_load_file (filename=filename@entry=0x0, appname=appname@entry=0x0, flags=flags@entry=50) at ../crypto/conf/conf_mod.c:114 #1 0x00007ffff7c7da10 in openssl_config_int (settings=) at ../crypto/conf/conf_sap.c:69 #2 0x00007ffff7d14234 in ossl_init_config () at ../crypto/init.c:293 #3 ossl_init_config_ossl_ () at ../crypto/init.c:291 #4 0x00007ffff796947f in __pthread_once_slow (once_control=0x7ffff7e717e0 , init_routine=0x7ffff7d14220 ) at pthread_once.c:116 #5 0x00007ffff7969535 in __GI___pthread_once (once_control=once_control@entry=0x7ffff7e717e0 , init_routine=init_routine@entry=0x7ffff7d14220 ) at pthread_once.c:143 #6 0x00007ffff7d7f74d in CRYPTO_THREAD_run_once (once=once@entry=0x7ffff7e717e0 , init=init@entry=0x7ffff7d14220 ) at ../crypto/threads_pthread.c:118 #7 0x00007ffff7d148b8 in OPENSSL_init_crypto (settings=0x7fffffffdc50, opts=64) at ../crypto/init.c:701 #8 OPENSSL_init_crypto (opts=opts@entry=64, settings=settings@entry=0x7fffffffdc50) at ../crypto/init.c:620 #9 0x00007ffff7c7d9ae in OPENSSL_config (appname=appname@entry=0x0) at ../crypto/conf/conf_sap.c:39 #10 0x0000555555598237 in ssl_init () at ../../src/openssl.c:178 #11 0x000055555557cbc5 in gethttp (u=u@entry=0x5555555e63e0, original_url=original_url@entry=0x5555555e63e0, hs=hs@entry=0x7fffffffe110, dt=dt@entry=0x7fffffffe4f0, proxy=proxy@entry=0x0, iri=iri@entry=0x5555555e63b0, count=1) at ../../src/http.c:3209 #12 0x00005555555808f3 in http_loop (u=u@entry=0x5555555e63e0, original_url=original_url@entry=0x5555555e63e0, newloc=newloc@entry=0x7fffffffe408, local_file=local_file@entry=0x7fffffffe410, referer=referer@entry=0x0, dt=dt@entry=0x7fffffffe4f0, proxy=0x0, iri=0x5555555e63b0) at ../../src/http.c:4356 #13 0x000055555558c594 in retrieve_url (orig_parsed=0x5555555e63e0, origurl=0x5555555e7600 "https://google.de/", file=0x7fffffffe4f8, newloc=0x7fffffffe500, refurl=0x0, dt=0x7fffffffe4f0, recursive=false, iri=0x5555555e63b0, register_status=true) at ../../src/retr.c:973 #14 0x00005555555644bb in main (argc=, argv=) at ../../src/main.c:2165 (gdb) c Continuing. Breakpoint 1, CONF_modules_load_file (filename=filename@entry=0x0, appname=appname@entry=0x0, flags=flags@entry=48) at ../crypto/conf/conf_mod.c:114 114 in ../crypto/conf/conf_mod.c (gdb) bt #0 CONF_modules_load_file (filename=filename@entry=0x0, appname=appname@entry=0x0, flags=flags@entry=48) at ../crypto/conf/conf_mod.c:114 #1 0x00005555555982c0 in ssl_init () at ../../src/openssl.c:202 #2 0x000055555557cbc5 in gethttp (u=u@entry=0x5555555e63e0, original_url=original_url@entry=0x5555555e63e0, hs=hs@entry=0x7fffffffe110, dt=dt@entry=0x7fffffffe4f0, proxy=proxy@entry=0x0, iri=iri@entry=0x5555555e63b0, count=1) at ../../src/http.c:3209 #3 0x00005555555808f3 in http_loop (u=u@entry=0x5555555e63e0, original_url=original_url@entry=0x5555555e63e0, newloc=newloc@entry=0x7fffffffe408, local_file=local_file@entry=0x7fffffffe410, referer=referer@entry=0x0, dt=dt@entry=0x7fffffffe4f0, proxy=0x0, iri=0x5555555e63b0) at ../../src/http.c:4356 #4 0x000055555558c594 in retrieve_url (orig_parsed=0x5555555e63e0, origurl=0x5555555e7600 "https://google.de/", file=0x7fffffffe4f8, newloc=0x7fffffffe500, refurl=0x0, dt=0x7fffffffe4f0, recursive=false, iri=0x5555555e63b0, register_status=true) at ../../src/retr.c:973 #5 0x00005555555644bb in main (argc=, argv=) at ../../src/main.c:2165 For curl: Breakpoint 1, CONF_modules_load_file (filename=filename@entry=0x0, appname=appname@entry=0x0, flags=flags@entry=48) at ../crypto/conf/conf_mod.c:114 114 ../crypto/conf/conf_mod.c: No such file or directory. (gdb) bt #0 CONF_modules_load_file (filename=filename@entry=0x0, appname=appname@entry=0x0, flags=flags@entry=48) at ../crypto/conf/conf_mod.c:114 #1 0x00007ffff7f95313 in Curl_ossl_init () at vtls/openssl.c:1052 #2 0x00007ffff7f5fa20 in global_init (flags=3, memoryfuncs=) at easy.c:158 #3 0x000055555555f0af in main_init (config=0x7fffffffe540) at tool_main.c:158 #4 main (argc=4, argv=0x7fffffffe6d8) at tool_main.c:296 (gdb) c Continuing. [New Thread 0x7ffff66f4700 (LWP 2866)] % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0[Thread 0x7ffff66f4700 (LWP 2866) exited] Thread 1 "curl" hit Breakpoint 1, CONF_modules_load_file (filename=filename@entry=0x0, appname=appname@entry=0x0, flags=flags@entry=50) at ../crypto/conf/conf_mod.c:114 114 in ../crypto/conf/conf_mod.c (gdb) bt #0 CONF_modules_load_file (filename=filename@entry=0x0, appname=appname@entry=0x0, flags=flags@entry=50) at ../crypto/conf/conf_mod.c:114 #1 0x00007ffff7988a10 in openssl_config_int (settings=) at ../crypto/conf/conf_sap.c:69 #2 0x00007ffff7a1f234 in ossl_init_config () at ../crypto/init.c:293 #3 ossl_init_config_ossl_ () at ../crypto/init.c:291 #4 0x00007ffff7f0247f in __pthread_once_slow (once_control=0x7ffff7b7c7e0 , init_routine=0x7ffff7a1f220 ) at pthread_once.c:116 #5 0x00007ffff7f02535 in __GI___pthread_once (once_control=once_control@entry=0x7ffff7b7c7e0 , init_routine=init_routine@entry=0x7ffff7a1f220 ) at pthread_once.c:143 #6 0x00007ffff7a8a74d in CRYPTO_THREAD_run_once (once=once@entry=0x7ffff7b7c7e0 , init=init@entry=0x7ffff7a1f220 ) at ../crypto/threads_pthread.c:118 #7 0x00007ffff7a1f8b8 in OPENSSL_init_crypto (settings=0x0, opts=2097228) at ../crypto/init.c:701 #8 OPENSSL_init_crypto (opts=opts@entry=2097228, settings=settings@entry=0x0) at ../crypto/init.c:620 #9 0x00007ffff7bb4575 in OPENSSL_init_ssl (opts=2097228, opts@entry=2097152, settings=settings@entry=0x0) at ../ssl/ssl_init.c:205 #10 0x00007ffff7bb84a2 in SSL_CTX_new (meth=meth@entry=0x7ffff7c0a860 ) at ../ssl/ssl_lib.c:2978 #11 0x00007ffff7f9877e in ossl_connect_step1 (conn=conn@entry=0x5555555cdb10, sockindex=sockindex@entry=0) at vtls/openssl.c:2527 #12 0x00007ffff7f9a23f in ossl_connect_common (conn=0x5555555cdb10, sockindex=0, nonblocking=true, done=0x7fffffffe238) at vtls/openssl.c:3752 #13 0x00007ffff7f9b14f in Curl_ssl_connect_nonblocking (conn=conn@entry=0x5555555cdb10, sockindex=sockindex@entry=0, done=done@entry=0x7fffffffe238) at vtls/vtls.c:291 #14 0x00007ffff7f46296 in https_connecting (conn=conn@entry=0x5555555cdb10, done=done@entry=0x7fffffffe238) at http.c:1575 #15 0x00007ffff7f47d13 in Curl_http_connect (done=0x7fffffffe238, conn=0x5555555cdb10) at http.c:1497 #16 Curl_http_connect (conn=0x5555555cdb10, done=0x7fffffffe238) at http.c:1462 #17 0x00007ffff7f6897d in protocol_connect (protocol_done=0x7fffffffe238, conn=) at multi.c:1485 #18 multi_runsingle (multi=0x5555555c2bd0, now=..., data=0x5555555cee10) at multi.c:1794 #19 0x00007ffff7f69a11 in curl_multi_perform (multi=multi@entry=0x5555555c2bd0, running_handles=running_handles@entry=0x7fffffffe3a8) at multi.c:2341 #20 0x00007ffff7f5fe8b in easy_transfer (multi=0x5555555c2bd0) at easy.c:599 #21 easy_perform (events=false, data=0x5555555cee10) at easy.c:692 #22 curl_easy_perform (data=0x5555555cee10) at easy.c:711 #23 0x000055555556e1d0 in serial_transfers (share=0x5555555c43c0, global=0x7fffffffe540) at tool_operate.c:2203 #24 run_all_transfers (result=CURLE_OK, share=0x5555555c43c0, global=0x7fffffffe540) at tool_operate.c:2379 #25 operate (global=0x7fffffffe540, argc=, argv=) at tool_operate.c:2491 #26 0x000055555555f130 in main (argc=4, argv=0x7fffffffe6d8) at tool_main.c:314