- Description
- There is a potentially exploitable out of memory condition In Nanopb before 0.4.1, 0.3.9.5, and 0.2.9.4. When nanopb is compiled with PB_ENABLE_MALLOC, the message to be decoded contains a repeated string, bytes or message field and realloc() runs out of memory when expanding the array nanopb can end up calling `free()` on a pointer value that comes from uninitialized memory. Depending on platform this can result in a crash or further memory corruption, which may be exploitable in some cases. This problem is fixed in nanopb-0.4.1, nanopb-0.3.9.5, nanopb-0.2.9.4.
- Source
- security-advisories@github.com
- NVD status
- Modified
CVSS 3.1
- Type
- Primary
- Base score
- 9.8
- Impact score
- 5.9
- Exploitability score
- 3.9
- Vector string
- CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
- Severity
- CRITICAL
CVSS 2.0
- Type
- Primary
- Base score
- 7.5
- Impact score
- 6.4
- Exploitability score
- 10
- Vector string
- AV:N/AC:L/Au:N/C:P/I:P/A:P
- Hype score
- Not currently trending
[
{
"nodes": [
{
"negate": false,
"cpeMatch": [
{
"criteria": "cpe:2.3:a:nanopb_project:nanopb:*:*:*:*:*:*:*:*",
"vulnerable": true,
"matchCriteriaId": "4C0C3188-DACC-4BFC-88EE-17A3EA6DECB4",
"versionEndExcluding": "0.2.9.4"
},
{
"criteria": "cpe:2.3:a:nanopb_project:nanopb:*:*:*:*:*:*:*:*",
"vulnerable": true,
"matchCriteriaId": "7AC327EC-CA02-408D-B00C-1A23ACB339F4",
"versionEndExcluding": "0.3.9.5",
"versionStartIncluding": "0.3.0"
},
{
"criteria": "cpe:2.3:a:nanopb_project:nanopb:*:*:*:*:*:*:*:*",
"vulnerable": true,
"matchCriteriaId": "7F47A79C-0D54-439F-ADE6-BB093268FAA3",
"versionEndExcluding": "0.4.1",
"versionStartIncluding": "0.4.0"
}
],
"operator": "OR"
}
]
}
]