summaryrefslogtreecommitdiffstats
path: root/samples/rust
diff options
context:
space:
mode:
authorYuxiao Wang <yuxiao.wang@certik.com>2026-09-09 12:44:00 +0000
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2026-09-09 14:56:26 +0200
commit9bc184a2eda8b773c88ecbff934001ad649b9cc1 (patch)
tree662e7475d413730af28f94018ccbc3bf6ffb8f76 /samples/rust
parentdf2908090cda368b01ff43709f51890076c56157 (diff)
downloadlinux-stable-9bc184a2eda8b773c88ecbff934001ad649b9cc1.tar.gz
linux-stable-9bc184a2eda8b773c88ecbff934001ad649b9cc1.zip
nitro_enclaves: fix use-after-free on SLOT_ALLOC failure
When ne_create_vm_ioctl() fails the SLOT_ALLOC request after anon_inode_getfile() has succeeded, the error path calls fput(enclave_file) and then frees ne_enclave. In normal userspace context, fput() defers the final __fput() via task_work. ne_enclave_release() therefore runs after ne_enclave has already been freed and dereferences ne_enclave->slot_uid, causing a use-after-free: KASAN: slab-use-after-free in ne_enclave_release. The enclave has no slot allocated and is not yet linked into the enclaves list on this error path, so ne_enclave_release() is expected to return early when slot_uid is zero. However, reading slot_uid already accesses the freed object. Clear enclave_file->private_data before fput() on the error path. ne_enclave_release() then returns immediately when private_data is NULL, leaving the ioctl error path as the sole owner of ne_enclave. This is safe because the file has not been fd_install()'d yet. Tested on an AWS EC2 m5.2xlarge with CONFIG_KASAN=y. Without the patch, the reproducer triggers a KASAN slab-use-after-free on every SLOT_ALLOC failure. With the patch, no KASAN report is produced and the SLOT_ALLOC error is still returned. Normal enclave creation and teardown are unaffected. Fixes: 9c8eb50fe9e2 ("nitro_enclaves: Add logic for terminating an enclave") Cc: stable@vger.kernel.org Co-developed-by: Zhaofeng Chen <zhaofeng.chen@certik.com> Signed-off-by: Zhaofeng Chen <zhaofeng.chen@certik.com> Signed-off-by: Yuxiao Wang <yuxiao.wang@certik.com> Reviewed-by: Alexander Graf <graf@amazon.com> Link: https://patch.msgid.link/20260909124400.27857-1-graf@amazon.com Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'samples/rust')
0 files changed, 0 insertions, 0 deletions