Public bug reported:
Summary
=======
IBM z15 LPAR
found on non-Ubuntu distro with opencryptoki-3.15.1
Segmentation fault of the sess_opstate test on the Soft Token
The problem is immediately reproducible
Details
=======
The sess_opstate test was receiving a segmentation fault signal when running
on the OpenCryptoki SoftToken.
./Bopencryptoki-tb: line 391: 222135 Segmentation fault (core dumped)
./sess_opstate -slot $slot_nr
sess_opstate succeeds against the ICA token, CCA token, and EP11 token.
The elapled time amount is showing about 50years of run time which is way too
high, though.
# time ./sess_opstate1 -slot 3
Using slot #3...
With option: no_init: 0
Running 100 loops...
* TESTCASE sess_opstate_funcs PASS (elapsed time 1612872946s 711722us)
Get/SetOperationState digest test
real 0m0.895s
user 0m0.015s
sys 0m0.032s
Debug info
==========
Program terminated with signal SIGSEGV, Segmentation fault.
#0 0x000003ff9a51e9c0 in main_arena () from /usr/lib64/libc.so.6
(gdb) bt
#0 0x000003ff9a51e9c0 in main_arena () from /usr/lib64/libc.so.6
#1 0x000003ff98270872 in token_specific_sha_update (tokdata=<optimized out>,
ctx=0x161b0578, in_data=<optimized out>,
in_data_len=<optimized out>) at usr/lib/soft_stdll/soft_specific.c:3062
#2 0x000003ff98215f48 in digest_mgr_digest_update (tokdata=<optimized out>,
sess=<optimized out>, ctx=0x161b0578,
data=<optimized out>, data_len=5) at usr/lib/common/dig_mgr.c:287
#3 0x000003ff98251716 in SC_DigestUpdate (tokdata=0x1619da60,
sSession=<optimized out>, pPart=0x161b0710 "\310@\024\352\345",
ulPartLen=5) at usr/lib/common/new_host.c:2613
#4 0x000003ff9a607578 in C_DigestUpdate () from
/usr/lib64/opencryptoki/libopencryptoki.so.0
#5 0x0000000001004d56 in sess_opstate_funcs ()
#6 0x00000000010057d2 in main ()
Terminal Output
===============
./Bopencryptoki-tb: line 391: 222135 Segmentation fault (core dumped)
./sess_opstate -slot $slot_nr
# file sess_opstate
sess_opstate: ELF 64-bit MSB executable, IBM S/390, version 1 (SYSV),
dynamically linked, interpreter /lib/ld64.so.1, for GNU/Linux 3.2.0,
BuildID[sha1]=999f80eaa557d306a8ea4cda25e8e928fe9eb527, with debug_info, not
stripped
# coredumpctl list
TIME PID UID GID SIG COREFILE EXE
Thu 2021-02-04 19:05:29 CET 222135 0 0 11 missing
/root/crypto/opencryptoki-3.15.1/testcases/pkcs11/sess_opstate
#
coredumpctl dump 222135 > coredump_pid222135.core
PID: 222135 (sess_opstate)
UID: 0 (root)
GID: 0 (root)
Signal: 11 (SEGV)
Timestamp: Thu 2021-02-04 19:05:28 CET (4 days ago)
Command Line: ./sess_opstate -slot 2
Executable: /root/crypto/opencryptoki-3.15.1/testcases/pkcs11/sess_opstate
Control Group: /user.slice/user-0.slice/session-5.scope
Unit: session-5.scope
Slice: user-0.slice
Session: 5
Owner UID: 0 (root)
Boot ID: 13342569937c43b9ab778ea184f4e490
Machine ID: fc8625d575914061ba54bbf27e15d50d
Hostname: t83lp22.lnxne.boe
Storage:
/var/lib/systemd/coredump/core.sess_opstate.0.13342569937c43b9ab778ea184f4e490.222135.1612461928000000.lz4
(inaccessible)
Message: Process 222135 (sess_opstate) of user 0 dumped core.
Stack trace of thread 222135:
#0 0x0000000000000002 n/a (n/a)
Syslog from the segmentation fault situation:
Feb 04 19:05:28 system sess_opstate[222135]: Libica FIPS library integrity
check passed.
Feb 04 19:05:28 system kernel: User process fault: interruption code 0010 ilc:3
in sess_opstate[1000000+a000]
Feb 04 19:05:28 system kernel: Failing address: 0000000000000000 TEID:
0000000000000800
Feb 04 19:05:28 system kernel: Fault in primary space mode while using user
ASCE.
Feb 04 19:05:28 system kernel: AS:00000000e585c1c7 R3:00000000da39c007
S:0000000000000020
Feb 04 19:05:28 system kernel: CPU: 2 PID: 222135 Comm: sess_opstate Kdump:
loaded Not tainted 4.18.0-277.el8.s390x #1
Feb 04 19:05:28 system kernel: Hardware name: IBM 8561 T01 701 (LPAR)
Feb 04 19:05:28 system kernel: User PSW : 0705000180000000 0000000000000002
Feb 04 19:05:28 system kernel: R:0 T:1 IO:1 EX:1 Key:0 M:1 W:0 P:1
AS:0 CC:0 PM:0 RI:0 EA:3
Feb 04 19:05:28 system kernel: User GPRS: 0000000000000000 0000000000000002
0000000002922fb0 0000000002922ca0
Feb 04 19:05:28 system kernel: 0000000000000003 0000000000000003
0000000000000003 0000000000000002
Feb 04 19:05:28 system kernel: 00000000029098b0 0000000000000003
0000000002922ca0 0000000002923238
Feb 04 19:05:28 system kernel: 0000000002922ca0 0000000000000063
000003ff991f0872 000003ffc027ee50
Feb 04 19:05:28 system kernel: User Code: Bad PSW.
Feb 04 19:05:28 system kernel: Last Breaking-Event-Address:
Feb 04 19:05:28 system kernel: [<000003ff9ae96cec>] 0x3ff9ae96cec
Feb 04 19:05:28 system systemd-coredump[222136]: Libica FIPS library integrity
check passed.
Feb 04 19:05:28 system systemd[1]: Created slice
system-systemd\x2dcoredump.slice.
Feb 04 19:05:28 system systemd[1]: Started Process Core Dump (PID 222136/UID 0).
Feb 04 19:05:29 system systemd-coredump[222137]: Libica FIPS library integrity
check passed.
Feb 04 19:05:29 system sess_mgmt_tests[222138]: Libica FIPS library integrity
check passed.
Feb 04 19:05:29 system systemd-coredump[222137]: Process 222135 (sess_opstate)
of user 0 dumped core.
Stack trace of
thread 222135:
#0
0x0000000000000002 n/a (n/a)
Feb 04 19:05:29 system systemd[1]: [email protected]:
Succeeded
---Steps to Reproduce---
1. Unpack the GitHub OpenCryptoki source code package and run
./bootstrap.sh
./configure --enable-testcases
2. cd testcases
3. make
4. cd crypto
5. Set up the opencryptoki Soft token (define in
/etc/opencryptoki/opencryptoki.conf file and initialize using 'pkcsconf')
6. export PKCS11_USER_PIN=01234567; export PKCS11_SO_PIN=76543210
7. run: ./sess_opstate -slot <N> -securekey; N being the index of the Soft token
8. Watch the Error output of the tests.
Userspace tool common name: opencryptoki
Userspace : opencryptoki-libs-3.15.1
The userspace tool has the following bit modes: 64-bit
Userspace tool obtained from project website: na
This affects OCK >= 3.15 only.
The fix is now upstream:
https://github.com/opencryptoki/opencryptoki/commit/1e98001ff63cd7e75d95b4ea0d3d2a69965d8890
"SOFT: Fix problem with C_Get/SetOperationState and digest contexts"
This patch should apply smoothly on top of OCK 3.15.1.
** Affects: opencryptoki (Ubuntu)
Importance: Undecided
Assignee: Skipper Bug Screeners (skipper-screen-team)
Status: New
** Tags: architecture-s39064 bugnameltc-191549 severity-high
targetmilestone-inin2104
** Tags added: architecture-s39064 bugnameltc-191549 severity-high
targetmilestone-inin2104
** Changed in: ubuntu
Assignee: (unassigned) => Skipper Bug Screeners (skipper-screen-team)
** Package changed: ubuntu => opencryptoki (Ubuntu)
--
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/1915689
Title:
[UBUNTU 21.04] Opencryptoki 3.15: token_specific_sha_update() causes
segmentation fault in main_arena () from /usr/lib64/libc.so.6
(opencryptoki)
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/opencryptoki/+bug/1915689/+subscriptions
--
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs