• Eric Biggers's avatar
    KEYS: fix length validation in keyctl_pkey_params_get_2() · c51abd96
    Eric Biggers authored
    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: default avatarEric Biggers <ebiggers@google.com>
    Reviewed-by: default avatarJarkko Sakkinen <jarkko@kernel.org>
    Signed-off-by: default avatarJarkko Sakkinen <jarkko@kernel.org>
    c51abd96
keyctl_pkey.c 7.08 KB