LayerXcom / confidential-computing-modules

A Module for Privacy-preserving State Transitions with Verifiability
90 stars 9 forks source link

ecall時の最大バイト数を`bincode`で制限することでエラーハンドリング #618

Closed osuketh closed 3 years ago

osuketh commented 3 years ago

Issueへのリンク

やったこと

ホストから任意長のデータサイズをecallのバッファに許可してしまうとプロセスが落ちる。 serialize時にバイト数を制限し、エラーハンドリングを実施。

let input_payload = bincode::DefaultOptions::new()
            .with_limit(self.ecall_max_size as u64)
            .serialize(&input)?;

やらないこと

動作検証

参考