osslsigncode
osslsigncode copied to clipboard
v2.8 SIGSEGV in check_key_fork
Description:
SIGSEGV in check_key_fork
Affected version: v2.8.
Steps to Reproduce:
Build under CentOS Stream 9, gcc (GCC) 11.4.1, (libcrypto v3.2.1)
run:
osslsigncode sign \
-pkcs11engine /usr/lib64/engines-3/pkcs11.so \
-pkcs11module /usr/lib64/pkcs11/libeTPkcs11.so \
-pkcs11cert 'pkcs11:token=xxxxxxx' \
-key 'pkcs11:token=xxxxxxx' \
-in samples1.exe -out samples1-signed.exe
stack trace:
Thread 1 "osslsigncode" received signal SIGSEGV, Segmentation fault.
check_key_fork (key=key@entry=0x5555555c7db0) at /usr/src/debug/openssl-pkcs11-0.4.11-9.el9.x86_64/src/p11_atfork.c:224
224 cpriv = PRIVCTX(KEY2CTX(key));
(gdb) bt
#0 check_key_fork (key=key@entry=0x5555555c7db0) at /usr/src/debug/openssl-pkcs11-0.4.11-9.el9.x86_64/src/p11_atfork.c:224
#1 0x00007ffff7e8a2df in pkcs11_rsa_priv_enc_method (flen=51, from=0x5555555c7650 "010\r\006\t`\206H\001e\003\004\002\001\005", to=0x5555555de530 "~\227\t", rsa=0x5555555c9040, padding=1)
at /usr/src/debug/openssl-pkcs11-0.4.11-9.el9.x86_64/src/p11_rsa.c:381
#2 0x00007ffff7a17acd in RSA_sign (type=<optimized out>, m=m@entry=0x7fffffffb9c0 "\355\374\357Q%ߪ\363\371\233\306^\001[\034\326@]\340\272\030B\242\277Ṵh\365\306\361\025", m_len=m_len@entry=32, sigret=sigret@entry=0x5555555de530 "~\227\t",
siglen=siglen@entry=0x7fffffffb954, rsa=rsa@entry=0x5555555c9040) at crypto/rsa/rsa_sign.c:307
#3 0x00007ffff7a19dfd in pkey_rsa_sign (ctx=0x5555555a1940, sig=0x5555555de530 "~\227\t", siglen=0x7fffffffba50, tbs=0x7fffffffb9c0 "\355\374\357Q%ߪ\363\371\233\306^\001[\034\326@]\340\272\030B\242\277Ṵh\365\306\361\025", tbslen=32)
at crypto/rsa/rsa_pmeth.c:178
#4 0x00007ffff79ae242 in EVP_DigestSignFinal (ctx=0x5555555e2aa0, sigret=0x5555555de530 "~\227\t", siglen=0x7fffffffba50) at crypto/evp/m_sigver.c:677
#5 0x00007ffff79fd45b in PKCS7_SIGNER_INFO_sign (si=si@entry=0x5555555e1ca0) at crypto/pkcs7/pk7_doit.c:934
#6 0x00007ffff79fd634 in do_pkcs7_signed_attrib (mctx=0x5555555e29d0, si=0x5555555e1ca0) at crypto/pkcs7/pk7_doit.c:711
#7 PKCS7_dataFinal (p7=p7@entry=0x5555555c7ba0, bio=bio@entry=0x5555555e2860) at crypto/pkcs7/pk7_doit.c:833
#8 0x00005555555688d1 in pkcs7_sign_content (p7=p7@entry=0x5555555c7ba0, data=0x5555555e2762 "04\006\n+\006\001\004\001\202\067\002\001\017\060&\003\002\a\200\240 \242\036\200\034", len=105) at /root/osslsigncode/helpers.c:396
#9 0x00005555555689d1 in sign_spc_indirect_data_content (p7=p7@entry=0x5555555c7ba0, content=content@entry=0x5555555e2560) at /root/osslsigncode/helpers.c:280
#10 0x000055555556da4a in pe_pkcs7_signature_new (ctx=<optimized out>, hash=0x5555555bae80) at /root/osslsigncode/pe.c:407
#11 0x0000555555560001 in main (argc=<optimized out>, argv=<optimized out>) at /root/osslsigncode/osslsigncode.c:4921