• E
    KEYS: fix length validation in keyctl_pkey_params_get_2() · c51abd96
    Eric Biggers 提交于
    In many cases, keyctl_pkey_params_get_2() is validating the user buffer
    lengths against the wrong algorithm properties.  Fix it to check against
    the correct properties.
    
    Probably this wasn't noticed before because for all asymmetric keys of
    the "public_key" subtype, max_data_size == max_sig_size == max_enc_size
    == max_dec_size.  However, this isn't necessarily true for the
    "asym_tpm" subtype (it should be, but it's not strictly validated).  Of
    course, future key types could have different values as well.
    
    Fixes: 00d60fd3 ("KEYS: Provide keyctls to drive the new key type ops for asymmetric keys [ver #2]")
    Cc: <stable@vger.kernel.org> # v4.20+
    Signed-off-by: NEric Biggers <ebiggers@google.com>
    Reviewed-by: NJarkko Sakkinen <jarkko@kernel.org>
    Signed-off-by: NJarkko Sakkinen <jarkko@kernel.org>
    c51abd96
keyctl_pkey.c 7.1 KB