From a2134e938a0c43d2f06f04689c59de4052d0b986 Mon Sep 17 00:00:00 2001 From: helei Date: Tue, 16 Jun 2026 20:32:51 +0800 Subject: [PATCH] hw/virtio-crypto: enforce max akcipher key length enforce the global max_size boundary for akcipher session creation Signed-off-by: helei Reviewed-by: Michael S. Tsirkin Signed-off-by: Michael S. Tsirkin Message-ID: <20260616123251.26446-2-lhestz@163.com> --- hw/virtio/virtio-crypto.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/hw/virtio/virtio-crypto.c b/hw/virtio/virtio-crypto.c index 6fceb39681..79e2acb56c 100644 --- a/hw/virtio/virtio-crypto.c +++ b/hw/virtio/virtio-crypto.c @@ -216,6 +216,12 @@ virtio_crypto_create_asym_session(VirtIOCrypto *vcrypto, return -VIRTIO_CRYPTO_NOTSUPP; } + if (unlikely(keylen > vcrypto->conf.max_size)) { + error_report("virtio-crypto length of akcipher key is too large: %u", + keylen); + return -VIRTIO_CRYPTO_ERR; + } + if (keylen) { asym_info->key = g_malloc(keylen); if (iov_to_buf(iov, out_num, 0, asym_info->key, keylen) != keylen) {