Cap'n Proto vulnerable to out-of-bounds read due to logic error handling list-of-list.
Key facts
- Attack vector
- Network
- Privileges required
- None
- User interaction
- None
- Attack complexity
- High
- Impact type
- —
- Confidentiality · integrity · availability
- Low · None · Low
- Fix status
- Fixed
Attack profile from CVSS 3.1 · CNA. Fix status from CNA, GitHub and Red Hat.
Summary
Cap'n Proto is a data interchange format and remote procedure call (RPC) system. Cap'n Proro prior to versions 0.7.1, 0.8.1, 0.9.2, and 0.10.3, as well as versions of Cap'n Proto's Rust implementation prior to 0.13.7, 0.14.11, and 0.15.2 are vulnerable to out-of-bounds read due to logic error handling list-of-list. This issue may lead someone to remotely segfault a peer by sending it a malicious message, if the victim performs certain actions on a list-of-pointer type. Exfiltration of memory is possible if the victim performs additional certain actions on a list-of-pointer type. To be vulnerable, an application must perform a specific sequence of actions, described in the GitHub Security Advisory. The bug is present in inlined code, therefore the fix will require rebuilding dependent applications. Cap'n Proto has C++ fixes available in versions 0.7.1, 0.8.1, 0.9.2, and 0.10.3. The `capnp` Rust crate has fixes available in versions 0.13.7, 0.14.11, and 0.15.2.
Why it matters now
SSVC decision points
CISA ADP · SSVC 2.0.3
- Exploitation
- None
- Automatable
- No
- Technical impact
- Partial
The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.
Affected products
| Vendor | Product | Affected versions | Fixed in | Status | Source |
|---|---|---|---|---|---|
| capnproto | capnproto | before 0.7.1; 0.8.0 to before 0.8.1; 0.9.0 to before 0.9.2; 0.10.0 to before 0.10.3; 0.13.0 to before 0.13.7; 0.14.0 to before 0.14.11; 0.15.0 to before 0.15.2 | 0.7.1, 0.8.1, 0.9.2, 0.10.3, 0.13.7, 0.14.11, 0.15.2 | Patch available | CNA |
| — | capnp (crates.io) | 0.15.0 to before 0.15.2 | 0.15.2 | Patch available | GHSA-qqff-4vw4-f6hx |
| — | capnp (crates.io) | 0.14.0 to before 0.14.11 | 0.14.11 | Patch available | GHSA-qqff-4vw4-f6hx |
| — | capnp (crates.io) | before 0.13.7 | 0.13.7 | Patch available | GHSA-qqff-4vw4-f6hx |
- capnproto Vendorcapnproto Affected before 0.7.1; 0.8.0 to before 0.8.1; 0.9.0 to before 0.9.2; 0.10.0 to before 0.10.3; 0.13.0 to before 0.13.7; 0.14.0 to before 0.14.11; 0.15.0 to before 0.15.2 Fixed in 0.7.1, 0.8.1, 0.9.2, 0.10.3, 0.13.7, 0.14.11, 0.15.2 Patch available CNA
- capnp (crates.io) Vendor— Affected 0.15.0 to before 0.15.2 Fixed in 0.15.2 Patch available GHSA-qqff-4vw4-f6hx
- capnp (crates.io) Vendor— Affected 0.14.0 to before 0.14.11 Fixed in 0.14.11 Patch available GHSA-qqff-4vw4-f6hx
- capnp (crates.io) Vendor— Affected before 0.13.7 Fixed in 0.13.7 Patch available GHSA-qqff-4vw4-f6hx
CPE configurations NVD · 5
| CPE | Versions | Role | Vendor |
|---|---|---|---|
| cpe:2.3:a:capnproto:capnproto:*:*:*:*:*:*:*:* | before 0.7.1; 0.9.0 to before 0.9.2; 0.10.0 to before 0.10.3 | Vulnerable | capnproto |
| cpe:2.3:a:capnproto:capnproto:0.8.0:*:*:*:*:*:*:* | 0.8.0 | Vulnerable | capnproto |
| cpe:2.3:a:capnproto:capnp:*:*:*:*:*:rust:*:* | before 0.13.7; 0.14.0 to before 0.14.11; 0.15.0 to before 0.15.2 | Vulnerable | capnproto |
| cpe:2.3:o:fedoraproject:fedora:36:*:*:*:*:*:*:* | 36 | Vulnerable | Fedoraproject |
| cpe:2.3:o:fedoraproject:fedora:37:*:*:*:*:*:*:* | 37 | Vulnerable | Fedoraproject |
- cpe:2.3:a:capnproto:capnproto:*:*:*:*:*:*:*:* Versions before 0.7.1; 0.9.0 to before 0.9.2; 0.10.0 to before 0.10.3 Vulnerable ·capnproto
- cpe:2.3:a:capnproto:capnproto:0.8.0:*:*:*:*:*:*:* Versions 0.8.0 Vulnerable ·capnproto
- cpe:2.3:a:capnproto:capnp:*:*:*:*:*:rust:*:* Versions before 0.13.7; 0.14.0 to before 0.14.11; 0.15.0 to before 0.15.2 Vulnerable ·capnproto
- cpe:2.3:o:fedoraproject:fedora:36:*:*:*:*:*:*:* Versions 36 Vulnerable ·Fedoraproject
- cpe:2.3:o:fedoraproject:fedora:37:*:*:*:*:*:*:* Versions 37 Vulnerable ·Fedoraproject
Remediation
- Fix · CNA capnproto (capnproto) Fixed in 0.7.1, 0.8.1, 0.9.2, 0.10.3, 0.13.7, 0.14.11, 0.15.2
- Fix · GHSA-qqff-4vw4-f6hx capnp (crates.io) Fixed in 0.15.2 Advisory →
- Fix · GHSA-qqff-4vw4-f6hx capnp (crates.io) Fixed in 0.14.11 Advisory →
- Fix · GHSA-qqff-4vw4-f6hx capnp (crates.io) Fixed in 0.13.7 Advisory →
Red Hat 1 advisory
- RHSA-2023:1408 Released 2023-03-27 · Red Hat rating ModerateOpenShift Container Platform 4.12.9 packages and security update
- Red Hat OpenShift Container Platform 4.12 conmon-rs-0.5.1-3.rhaos4.12.git.el8, conmon-rs-0.5.1-3.rhaos4.12.git.el9
Vendor assessments
Red Hat
Red Hat rating: Moderate. Red Hat's page for this CVE →
| Product | Status | Plan or fix |
|---|---|---|
| Red Hat OpenShift Container Platform 4.12 | Fixed | RHSA-2023:1408 |
Not affected: 2 products
- Red Hat OpenShift Container Platform 4
- Red Hat OpenShift Container Platform 4.12
Timeline
- 2026-10-02 Threatist record created from CVE-2022-46149
- 2026-10-03 Alias added: GHSA-qqff-4vw4-f6hx
References
Patch 2
Advisory 5
Other 8
- https://dwrensha.github.io/capnproto-rust/2022/11/30/out_of_bounds_memory_access_bug.html
- https://github.com/capnproto/capnproto
- https://github.com/capnproto/capnproto/tree/master/security-advisories/2022-11-30-0-pointer-list-bounds.md
- https://lists.fedoraproject.org/archives/list/[email protected]/message/EAHKLUMJAXJEV5BPBS5XXWBQ3ZTHGOLY
- https://lists.fedoraproject.org/archives/list/[email protected]/message/PTS6TWD6K2NKXLEEFBPROQXMOFUTEYWY
- https://lists.fedoraproject.org/archives/list/[email protected]/message/WKXM4JAFXLTXU5IQB3OUBQVCIICZWGYX
- https://lists.fedoraproject.org/archives/list/[email protected]/message/ZOCQQOPMVQOFUWBWAGVGN76OYAV3WXY4
- https://rustsec.org/advisories/RUSTSEC-2022-0068.html
Sources
- CVE-2022-46149 · CVE Program
- CVE-2022-46149 · NVD
- FIRST EPSS
- GHSA-qqff-4vw4-f6hx · GitHub Advisory Database · CC BY 4.0
- CVE-2022-46149 · Red Hat security data · CC BY 4.0
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences