Project

General

Profile

Bug #9948

PKCS#11 key handle uninitialized in crypto tests

Added by Jason King 6 months ago. Updated 5 months ago.

Status:
Closed
Priority:
Normal
Assignee:
Category:
tests
Start date:
2018-11-01
Due date:
% Done:

100%

Estimated time:
Difficulty:
Bite-size
Tags:
needs-triage

Description

Upstream of Joyent OS-7274.

Noticed during testing of OS-6576, the digest tests would sometimes crash during shutdown. Looking at the cores, they were crashing during C_DestroyOject. The crypto test PKCS#11 version of crypto_op_t structure contains a field for a handle to a key object. Unfortunately this is only initialized for the tests that use the key (i.e. the encryption tests), but not for the digest tests. This can cause a crash on deallocation if the value happens to contain something other than 0 (always an invalid handle value) due to OS-6601 (pkcs11softtoken should_ just fail with CKR_OBJECT_HANDLE_INVALID if given an invalid handle to destroy, but OS-6601 prevents that). Regardless, we should explicitly initialize the key object to CK_INVALID_HANDLE so we know if we've used it or not (and need to destroy it).

History

#1

Updated by Jason King 6 months ago

  • Status changed from New to Pending RTI
#2

Updated by Electric Monk 5 months ago

  • Status changed from Pending RTI to Closed
  • % Done changed from 0 to 100

git commit eed3be881cd8e53fe7187245b289da7106712dea

commit  eed3be881cd8e53fe7187245b289da7106712dea
Author: Jason King <jason.king@joyent.com>
Date:   2018-11-09T10:32:03.000Z

    9948 PKCS#11 key handle uninitialized in crypto tests
    Reviewed by: Dan McDonald <danmcd@joyent.com>
    Reviewed by: Toomas Soome <tsoome@me.com>
    Approved by: Hans Rosenfeld <rosenfeld@grumpf.hope-2000.org>

Also available in: Atom PDF