mirror of
https://github.com/ibm-s390-linux/s390-tools.git
synced 2026-08-05 02:14:52 +00:00
libseckey: Fix possible out of bounds read in sk_ep11_parse_der_tag()
For long-length field encoding, check if the number of length bytes exceed the data size. Assisted-by: IBM Bob:2.0.0 Signed-off-by: Ingo Franzki <ifranzki@linux.ibm.com> Reviewed-by: Finn Callies <fcallies@linux.ibm.com> Signed-off-by: Jan Höppner <hoeppner@linux.ibm.com>
This commit is contained in:
committed by
Jan Höppner
parent
b4f575abc4
commit
634095aa24
@@ -417,6 +417,8 @@ static unsigned char sk_ep11_parse_der_tag(const unsigned char *data,
|
||||
if (num > sizeof(size_t))
|
||||
return 0;
|
||||
*value_len = data[2];
|
||||
if (data_len < 2 + num)
|
||||
return 0;
|
||||
for (i = 1; i < num; i++) {
|
||||
*value_len <<= 8;
|
||||
*value_len |= data[2 + i];
|
||||
|
||||
Reference in New Issue
Block a user