From 4da84019ccec87fea161797af2901244fa5f170e Mon Sep 17 00:00:00 2001 From: Tobias Brunner Date: Wed, 25 Mar 2026 10:28:45 +0100 Subject: [PATCH] pkcs5: Avoid NULL pointer dereference when verifying padding Can be triggered via empty PKCS#7 encrypted content in IKEv1 CERT payload. Fixes: 4076e3ee9121 ("Extract PKCS#5 handling from pkcs8 plugin to separate helper class") Fixes: CVE-2026-35329 --- src/libstrongswan/crypto/pkcs5.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/libstrongswan/crypto/pkcs5.c b/src/libstrongswan/crypto/pkcs5.c index e48a9ad9d..4851d3f96 100644 --- a/src/libstrongswan/crypto/pkcs5.c +++ b/src/libstrongswan/crypto/pkcs5.c @@ -113,6 +113,11 @@ static bool verify_padding(crypter_t *crypter, chunk_t *blob) { uint8_t padding, count; + if (!blob->len) + { + return FALSE; + } + padding = count = blob->ptr[blob->len - 1]; if (padding > crypter->get_block_size(crypter))