From 8465ea9cba9068efed1ad58de26b40a44fb08648 Mon Sep 17 00:00:00 2001 From: achazal Date: Tue, 2 Jun 2026 17:10:57 +0200 Subject: [PATCH] fix NULL dereference (#3347) in emv_pki_decode_message when crypto_pk_encrypt fails --- client/src/emv/emv_pki.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/client/src/emv/emv_pki.c b/client/src/emv/emv_pki.c index 7ab221637..6fa266c5a 100644 --- a/client/src/emv/emv_pki.c +++ b/client/src/emv/emv_pki.c @@ -75,10 +75,11 @@ static unsigned char *emv_pki_decode_message(const struct emv_pk *enc_pk, data = crypto_pk_encrypt(kcp, cert_tlv->value, cert_tlv->len, &data_len); crypto_pk_close(kcp); - /* if (true){ - PrintAndLogEx(SUCCESS, "Recovered data:\n"); - print_buffer(data, data_len, 1); - }*/ + if (data == NULL || data_len < 3) { + PrintAndLogEx(WARNING, "ERROR: Certificate decrypt failed"); + free(data); + return NULL; + } if (data[data_len - 1] != 0xbc || data[0] != 0x6a || data[1] != msgtype) { PrintAndLogEx(WARNING, "ERROR: Certificate format");