title: Cap'n Proto vulnerable to out-of-bounds read due to logic error handling list-of-list.
description: 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.
problem types: CWE-125: Out-of-bounds Read
affected:
{
vendor: capnproto
product: capnproto
versions:
version: < 0.7.1, status: affected
version: >= 0.8.0, < 0.8.1, status: affected
version: >= 0.9.0, < 0.9.2, status: affected
version: >= 0.10.0, < 0.10.3, status: affected
version: >= 0.13.0, < 0.13.7, status: affected
version: >= 0.14.0, < 0.14.11, status: affected
version: >= 0.15.0, < 0.15.2, status: affected
}
metrics:
cvssV3_1: [
version: 3.1
vectorString: CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:C/C:L/I:N/A:L
attackVector: NETWORK
attackComplexity: HIGH
privilegesRequired: NONE
userInteraction: NONE
scope: CHANGED
confidentialityImpact: LOW
integrityImpact: NONE
availabilityImpact: LOW
baseScore: 5.4
baseSeverity: MEDIUM
]