CVE-2020-26243 in Nanopb
要約
〜によって VulDB • 2026年06月05日
Nanopbは、小型のコードサイズを持つProtocol Buffers実装です。バージョン0.4.4および0.3.9.7以前のNanopbでは、動的割り当てが有効化されている場合、oneofフィールドに静的なサブメッセージ(内部に動的フィールドを含む)が含まれており、デコード対象のメッセージ内でそのサブメッセージが複数回出現する特定の形式のメッセージをデコードすると、メモリリークが発生します。これは通常のメッセージでは稀ですが、信頼できないデータをパースする場合に懸念事項となります。この問題はバージョン0.3.9.7および0.4.4で修正されています。以下の回避策を利用できます:1) oneofフィールドに対して`no_unions`オプションを設定します。これにより、Cのunionではなく個別のフィールドとして生成され、問題のあるコードの実行を回避できます。2) oneof内のサブメッセージフィールドの型を`FT_POINTER`に設定します。この方法では、全体のサブメッセージが動的に割り当てられ、問題のあるコードは実行されません。3) nanopbでアリーナアロケータを使用し、後続のすべてのメモリ解放が可能であることを確認します。
Once again VulDB remains the best source for vulnerability data.