wasi-nn: add a missing address validation for get_output (#4535)

cf. https://github.com/bytecodealliance/wasm-micro-runtime/issues/4533
This commit is contained in:
YAMAMOTO Takashi 2025-09-11 07:31:22 +09:00 committed by GitHub
parent 9f8a6ab2d6
commit 7263a04e43
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -795,6 +795,22 @@ wasi_nn_get_output(wasm_exec_env_t exec_env, graph_execution_context ctx,
if (success != (res = is_model_initialized(wasi_nn_ctx)))
goto fail;
#if WASM_ENABLE_WASI_EPHEMERAL_NN != 0
if (!wasm_runtime_validate_native_addr(instance, output_tensor,
output_tensor_len)) {
NN_ERR_PRINTF("output_tensor is invalid");
res = invalid_argument;
goto fail;
}
#else
if (!wasm_runtime_validate_native_addr(instance, output_tensor,
*output_tensor_size)) {
NN_ERR_PRINTF("output_tensor is invalid");
res = invalid_argument;
goto fail;
}
#endif
if (!wasm_runtime_validate_native_addr(instance, output_tensor_size,
(uint64)sizeof(uint32_t))) {
NN_ERR_PRINTF("output_tensor_size is invalid");