Commit 5f9b6ed
committed
Fix crash in openssl_pkcs12_read() when BIO_new() fails
Example ASAN report:
```
==55442==ERROR: AddressSanitizer: SEGV on unknown address 0x000000000058 (pc 0x7f73a6413b69 bp 0x7ffe666f6010 sp 0x7ffe666f5ff8 T0)
==55442==The signal is caused by a WRITE memory access.
==55442==Hint: address points to the zero page.
#0 0x7f73a6413b69 in BIO_up_ref (/lib/x86_64-linux-gnu/libcrypto.so.3+0xedb69) (BuildId: 0698e1ff610cb3c6993dccbd82c1281b1b4c5ade)
#1 0x7f73a641eac2 (/lib/x86_64-linux-gnu/libcrypto.so.3+0xf8ac2) (BuildId: 0698e1ff610cb3c6993dccbd82c1281b1b4c5ade)
#2 0x7f73a64f26f0 (/lib/x86_64-linux-gnu/libcrypto.so.3+0x1cc6f0) (BuildId: 0698e1ff610cb3c6993dccbd82c1281b1b4c5ade)
#3 0x7f73a64f2aa6 in OSSL_ENCODER_to_bio (/lib/x86_64-linux-gnu/libcrypto.so.3+0x1ccaa6) (BuildId: 0698e1ff610cb3c6993dccbd82c1281b1b4c5ade)
#4 0x7f73a6618adf in PEM_write_bio_PrivateKey_ex (/lib/x86_64-linux-gnu/libcrypto.so.3+0x2f2adf) (BuildId: 0698e1ff610cb3c6993dccbd82c1281b1b4c5ade)
#5 0x7f73a6618bc7 in PEM_write_bio_PrivateKey (/lib/x86_64-linux-gnu/libcrypto.so.3+0x2f2bc7) (BuildId: 0698e1ff610cb3c6993dccbd82c1281b1b4c5ade)
#6 0x559b16af882b in zif_openssl_pkcs12_read /work/php-src/ext/openssl/openssl.c:1520
#7 0x559b178b7ed2 in zend_test_execute_internal /work/php-src/ext/zend_test/observer.c:306
#8 0x559b17be024a in ZEND_DO_FCALL_SPEC_RETVAL_USED_HANDLER /work/php-src/Zend/zend_vm_execute.h:2154
php#9 0x559b17d40995 in execute_ex /work/php-src/Zend/zend_vm_execute.h:116519
php#10 0x559b17d558b0 in zend_execute /work/php-src/Zend/zend_vm_execute.h:121962
php#11 0x559b17eba0ab in zend_execute_script /work/php-src/Zend/zend.c:1980
php#12 0x559b178ec8bb in php_execute_script_ex /work/php-src/main/main.c:2645
php#13 0x559b178ecccb in php_execute_script /work/php-src/main/main.c:2685
php#14 0x559b17ebfc16 in do_cli /work/php-src/sapi/cli/php_cli.c:951
php#15 0x559b17ec21e3 in main /work/php-src/sapi/cli/php_cli.c:1362
php#16 0x7f73a5fa81c9 (/lib/x86_64-linux-gnu/libc.so.6+0x2a1c9) (BuildId: 274eec488d230825a136fa9c4d85370fed7a0a5e)
php#17 0x7f73a5fa828a in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x2a28a) (BuildId: 274eec488d230825a136fa9c4d85370fed7a0a5e)
php#18 0x559b16a09b34 in _start (/work/php-src/build-dbg-asan/sapi/cli/php+0x609b34) (BuildId: aa149f943514fff0c491e1f199e30fed0e977f7c)
```
Closes phpGH-21022.1 parent d0d9183 commit 5f9b6ed
1 file changed
+3
-3
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2856 | 2856 | | |
2857 | 2857 | | |
2858 | 2858 | | |
2859 | | - | |
| 2859 | + | |
2860 | 2860 | | |
2861 | 2861 | | |
2862 | 2862 | | |
| |||
2869 | 2869 | | |
2870 | 2870 | | |
2871 | 2871 | | |
2872 | | - | |
| 2872 | + | |
2873 | 2873 | | |
2874 | 2874 | | |
2875 | 2875 | | |
| |||
2890 | 2890 | | |
2891 | 2891 | | |
2892 | 2892 | | |
2893 | | - | |
| 2893 | + | |
2894 | 2894 | | |
2895 | 2895 | | |
2896 | 2896 | | |
| |||
0 commit comments