PT-2026-48694 · Crates.Io · Metacall

Publicado

2026-06-01

·

Atualizado

2026-06-01

Nenhuma

Não há classificações de severidade ou métricas disponíveis. Quando houver, atualizaremos as informações correspondentes na página.
Several soundness violations exist in the Rust bindings for MetaCall, indicatively:
MetaCallException::Clone: Clone is dangerous because it creates a second Rust object that still points to the same foreign MetaCall value, but does not actually own or keep that value alive. value is shallow copied and leak=true does not guarantee safety; Clone does not free the MetaCall value, but it still stores the same raw pointer. If the original is dropped, the Clone can retain a dangling pointer.
MetaCallException::new raw: is a safe function that accepts arbitrary raw pointer and dereferences C memory. This function is only correct if the caller gives it a valid, owned MetaCall value that must be destroyed by this wrapper. The method should be internal and not exposed to the public API or be declared as unsafe and be correctly documented.
Same issues exist in MetaCallThrowable::Clone, MetaCallThrowable::new raw, MetaCallClass::Clone, MetaCallClass::new raw, MetaCallFuture::Clone, MetaCallFuture::new raw, MetaCallPointer::Clone, MetaCallPointer::new raw, MetaCallFunction::Clone, MetaCallFunction::new raw, MetaCallObject::Clone, and MetaCallObject::new raw.
All issues can be triggered through safe public APIs.
Encontrou algum problema na descrição? Tem algo a acrescentar? Fique à vontade para nos escrever 👾

Identificadores relacionados

RUSTSEC-2026-0157

Produtos afetados

Metacall