REDHAT-BUG-2437308: Medium severity p11-kit p11-kit vulnerability

Published Feb 6, 2026
·
Updated

Summary: potential NULL dereference in p11-kit when calling CDeriveKey remotely with specific parameters.

Requirements to exploit: if an attacker calls CDeriveKey on a remote token with either mechanism IBM kyber or IBM btc derive, with specific mechanism parameter values set to NULL. The RPC-client might attempt to return an uninitialized value potentially resulting in a NULL dereference or undefined behavior.

A slight overhaul of p11rpcbuffergetibmkybermechparamupdate and p11rpcbuffergetibmbtcderivemechparamupdate functions where variable data could potentially be used uninitialized.

Report from static analysis:

1. Defect type: UNINIT 1. p11-kit-0.26.1/p11-kit/rpc-message.c:1706:2: vardecl: Declaring variable "data" without initializer. 11. p11-kit-0.26.1/p11-kit/rpc-message.c:1732:5: uninituseincall: Using uninitialized value "data" when calling "memcpy". [Note: The source code implementation of the function has been overridden by a builtin model.] 1730| 1731| if (params->pCipher && params->ulCipherLen == len) { 1732|-> memcpy(params->pCipher, data, len); 1733| params->ulCipherLen = len; 1734| } else { 2. Defect type: UNINIT 1. p11-kit-0.26.1/p11-kit/rpc-message.c:1706:2: vardecl: Declaring variable "data" without initializer. 11. p11-kit-0.26.1/p11-kit/rpc-message.c:1735:5: uninituse: Using uninitialized value "data". 1733| params->ulCipherLen = len; 1734| } else { 1735|-> params->pCipher = (void ) data; 1736| params->ulCipherLen = len; 1737| } 3. Defect type: UNINIT 1. p11-kit-0.26.1/p11-kit/rpc-message.c:1776:2: vardecl: Declaring variable "data" without initializer. 9. p11-kit-0.26.1/p11-kit/rpc-message.c:1797:4: uninituseincall: Using uninitialized value "data" when calling "memcpy". [Note: The source code implementation of the function has been overridden by a builtin model.] 1795| 1796| if (params->pChainCode && params->ulChainCodeLen == len) { 1797|-> memcpy(params->pChainCode, data, len); 1798| params->ulChainCodeLen = len; 1799| } else { 4. Defect type: UNINIT 1. p11-kit-0.26.1/p11-kit/rpc-message.c:1776:2: vardecl: Declaring variable "data" without initializer. 9. p11-kit-0.26.1/p11-kit/rpc-message.c:1800:4: uninituse: Using uninitialized value "data". 1798| params->ulChainCodeLen = len; 1799| } else { 1800|-> params->pChainCode = (void ) data; 1801| params->ulChainCodeLen = len; 1802| }

Affected Software

1 affected component
p11-kit p11-kit=0.26.1

Remediation

Recommended actions to resolve this vulnerability, in priority order.

  1. Upgrade

    Upgrade p11-kit to a version that resolves this vulnerability.

    Fixed in 0.26.1Patch p11-kit-0.26.1/p11-kit/rpc-message.c
  2. Configuration

    Ensure the RPC path for C_DeriveKey rejects/validates requests for IBM kyber and IBM btc derive so that required mechanism parameter values are not NULL before they reach p11_rpc_buffer_get_ibm_kyber_mech_param_update and p11_rpc_buffer_get_ibm_btc_derive_mech_param_update.

    p11-kit (C_DeriveKey via remote RPC client) IBM kyber / IBM btc derive mechanism parameters = Do not allow mechanism parameter values to be NULL (reject or validate inputs)
  3. Operational

    After deploying the fix, review any remote-token sessions that used C_DeriveKey with IBM kyber or IBM btc derive requests containing NULL mechanism parameter values, and ensure no undefined-behavior outcomes are persisted in the client/server state.

Event History

Feb 6, 2026
Data Sourced
via Red Hat·12:06 PM
DescriptionSeverityAffected Software

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203