製品・ソフトウェアに関する情報
Nanopb における無効なポインタや参照の解放に関する脆弱性
Title Nanopb における無効なポインタや参照の解放に関する脆弱性
Summary

Nanopb には、無効なポインタや参照の解放に関する脆弱性が存在します。

Possible impacts 情報を改ざんされる、およびサービス運用妨害 (DoS) 状態にされる可能性があります。
Solution

ベンダより正式な対策が公開されています。ベンダ情報を参照して適切な対策を実施してください。

Publication Date March 20, 2021, midnight
Registration Date Nov. 30, 2021, 3:47 p.m.
Last Update Nov. 30, 2021, 3:47 p.m.
CVSS3.0 : 重要
Score 7.1
Vector CVSS:3.0/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:L
CVSS2.0 : 警告
Score 5.5
Vector AV:N/AC:L/Au:S/C:N/I:P/A:P
Affected System
Nanopb project
Nanopb 0.3.9.8 未満
Nanopb 0.4.5 未満
CVE (情報セキュリティ 共通脆弱性識別子)
CWE (共通脆弱性タイプ一覧)
ベンダー情報
Change Log
No Changed Details Date of change
1 [2021年11月30日]
  掲載
Nov. 30, 2021, 3:47 p.m.

NVD Vulnerability Information
CVE-2021-21401
Summary

Nanopb is a small code-size Protocol Buffers implementation in ansi C. In Nanopb before versions 0.3.9.8 and 0.4.5, decoding a specifically formed message can cause invalid `free()` or `realloc()` calls if the message type contains an `oneof` field, and the `oneof` directly contains both a pointer field and a non-pointer field. If the message data first contains the non-pointer field and then the pointer field, the data of the non-pointer field is incorrectly treated as if it was a pointer value. Such message data rarely occurs in normal messages, but it is a concern when untrusted data is parsed. This has been fixed in versions 0.3.9.8 and 0.4.5. See referenced GitHub Security Advisory for more information including workarounds.

Publication Date March 24, 2021, 3:15 a.m.
Registration Date March 24, 2021, 10:02 a.m.
Last Update Nov. 21, 2024, 2:48 p.m.
Affected software configurations
Configuration1 or higher or less more than less than
cpe:2.3:a:nanopb_project:nanopb:*:*:*:*:*:*:*:* 0.4.0 0.4.5
cpe:2.3:a:nanopb_project:nanopb:*:*:*:*:*:*:*:* 0.3.9.8
Related information, measures and tools
Common Vulnerabilities List