| 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 |
| Nanopb project |
| Nanopb 0.3.9.8 未満 |
| Nanopb 0.4.5 未満 |
| No | Changed Details | Date of change |
|---|---|---|
| 1 | [2021年11月30日] 掲載 |
Nov. 30, 2021, 3:47 p.m. |
| 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. |
| 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 | ||||