Public bug reported:

[Impact]

On OpenSSL 3.0.14+ ssl_util_attrs_to_evp() → get_RSA_evp_pubkey() fails
during C_SignInit / C_VerifyInit on RSA objects whenever an OpenSSL
ENGINE (e.g. libp11's engine_pkcs11, loaded via -engine pkcs11) is
registered as the process-wide default handler for RSA EVP_PKEY_METHOD.
The observed error is:

EVP_PKEY_fromdata_init: error:03000096:digital envelope
routines::operation not supported for this keytype

which propagates up through EVP_DigestSignFinal() /
EVP_DigestVerifyFinal() and ultimately surfaces to callers as a fatal
Host memory error / CKR_GENERAL_ERROR from tpm2-pkcs11, breaking TLS
client authentication (e.g. wpa_supplicant EAP-TLS/PEAP with a
TPM2-backed smartcard, using engine_pkcs11 in front of
libtpm2_pkcs11.so).

This regressed between OpenSSL 3.0.13 (working) and 3.0.14/3.5.5
(broken).


[Test Plan]

This can be tested with the included synthetic reproducer: swtpm +
tpm2-abrmd + tpm2-pkcs11 + libp11's  engine_pkcs11 , performing a real
TLS 1.2 mutual-auth handshake (client  CertificateVerify  signed via the
TPM-backed key) with OpenSSL 3.5.5 and  -engine pkcs11  (mirroring
wpa_supplicant's smartcard/EAP-TLS configuration):

    Before the patch: handshake fails with  EVP_PKEY_fromdata_init: ... 
operation not supported for this keytype  during  C_SignInit.
    After the patch (rebuilt as a package and installed): handshake completes 
successfully ( Verify return code: 0 (ok) ), with the old error line only 
appearing as a benign, recovered-from diagnostic before the fallback succeeds.

[Where problems could occur]

[Other Info]

** Affects: tpm2-pkcs11 (Ubuntu)
     Importance: Undecided
         Status: New

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/2167891

Title:
  "Host memory error" when using tpm with wpa_supplicant

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/tpm2-pkcs11/+bug/2167891/+subscriptions


-- 
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to