protobuf-cpp: Improper Validation of Syntactic Correctness of Input
CVE-2022-1941 is a high-severity improper validation of syntactic correctness of input vulnerability in protobuf-cpp from Google, with a CVSS 3.1 base score of 7.5 out of 10. It can be exploited remotely over the network by an unauthenticated attacker, without any action from a user. The record lists versions 3.18.3, 3.19.5, 3.20.2 as the first without the flaw, so updating protobuf-cpp to one of those releases or later removes the exposure. There is no confirmed exploitation so far. EPSS estimates a 1.51% chance of exploitation within 30 days, higher than 75% of scored CVEs.
High severity with no evidence of exploitation so far.
What to do
- Update protobuf-cpp to 3.18.3 or 3.19.5 or 3.20.2 or 3.21.6, whichever matches your release line, or a later version.
- Update protobuf-python to 3.18.3 or 3.19.5 or 3.20.2 or 4.21.6, whichever matches your release line, or a later version.
- Read the advisory on github.com for workarounds and exact fixed builds.
- Until you can update, restrict network access to the affected service so it is not reachable from untrusted networks.
Affected products and versions
| Vendor | Product | Affected versions | Fixed in |
|---|---|---|---|
| protobuf-cpp | 3.16.1 and earlier; 3.17.3 and earlier; 3.18.2 and earlier; 3.19.4 and earlier; 3.20.1 and earlier; 3.21.5 and earlier; before 3.18.3; 3.19.0 up to, but not including, 3.19.5; and 2 more ranges | 3.18.3, 3.19.5, 3.20.2, 3.21.6 | |
| protobuf-python | 3.16.1 and earlier; 3.17.3 and earlier; 3.18.2 and earlier; 3.19.4 and earlier; 3.20.1 and earlier; 4.21.5 and earlier; before 3.18.3; 3.19.0 up to, but not including, 3.19.5; and 2 more ranges | 3.18.3, 3.19.5, 3.20.2, 4.21.6 | |
| Fedora Project | Fedora | 36; 37 | Not stated |
| Debian | Debian Linux | 10.0 | Not stated |
Version data comes from the organisation that assigned the CVE. Confirm against the vendor advisory before deciding you are unaffected.
How the severity score breaks down
- Attack vector
- NetworkCan be exploited remotely over a network, including the internet.
- Attack complexity
- LowNo special conditions are needed; the attack works reliably.
- Privileges required
- NoneNo account or login is needed.
- User interaction
- NoneNo action by a victim is required.
- Scope
- UnchangedImpact stays within the vulnerable component.
- Confidentiality
- NoneNo data is disclosed.
- Integrity
- NoneNothing can be modified.
- Availability
- HighThe component can be taken down completely.
Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H. Scored by NVD.
| Scoring system | Score | Severity | Scored by |
|---|---|---|---|
| CVSS 3.1 | 7.5 | High | NVD |
| CVSS 3.1 | 7.5 | High | CISA (ADP) |
Official description
A parsing vulnerability for the MessageSet type in the ProtocolBuffers versions prior to and including 3.16.1, 3.17.3, 3.18.2, 3.19.4, 3.20.1 and 3.21.5 for protobuf-cpp, and versions prior to and including 3.16.1, 3.17.3, 3.18.2, 3.19.4, 3.20.1 and 4.21.5 for protobuf-python can lead to out of memory failures. A specially crafted message with multiple key-value per elements creates parsing issues, and can lead to a Denial of Service against services receiving unsanitized input. We recommend upgrading to versions 3.18.3, 3.19.5, 3.20.2, 3.21.6 for protobuf-cpp and 3.18.3, 3.19.5, 3.20.2, 4.21.6 for protobuf-python. Versions for 3.16 and 3.17 are no longer updated.
Source: the CVE record as published by its numbering authority, via NVD and CVE.org.
The underlying weakness: Improper Validation of Syntactic Correctness of Input
The product receives input that is expected to be well-formed - i.e., to comply with a certain syntax - but it does not validate or incorrectly validates that the input complies with the syntax.
More Improper Validation of Syntactic Correctness of Input vulnerabilities (CWE-1286)
Timeline
- CVE record published.
- CISA published its SSVC assessment (exploitation: none, automatable: yes, technical impact: partial).
- Record last changed materially (score, affected products, status or references).
References
Advisories
- github.com/protocolbuffers/protobuf/security/advisories/GHSA-8gq9-2x98-w8hfThird Party Advisory
Third-party and government advisories
- openwall.com/lists/oss-security/2022/09/27/1Mailing List, Third Party Advisory
- cloud.google.com/support/bulletins#GCP-2022-019Third Party Advisory
Other references
- lists.debian.org/debian-lts-announce/2023/04/msg00019.htmlMailing List
- lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/CBAUKJQL6O4TIWYBENOR…
- lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/MPCGUT3T5L6C3IDWUPSU…
- security.netapp.com/advisory/ntap-20240705-0001/
Spotted an error? Tell us.