Sandstorm Cap'n Proto before 0.5.3.1 allows remote crashes related to a compiler optimization. A remote attacker can trigger a segfault in a 32-bit libcapnp application because Cap'n Proto relies on pointer arithmetic calculations that overflow. An example compiler with optimization that elides a bounds check in such calculations is Apple LLVM version 8.1.0 (clang-802.0.41). The attack vector is a crafted far pointer within a message.
{ "availability": "No subscription required", "ubuntu_priority": "low", "binaries": [ { "binary_version": "0.4.0-1ubuntu2.1", "binary_name": "capnproto" }, { "binary_version": "0.4.0-1ubuntu2.1", "binary_name": "capnproto-dbgsym" }, { "binary_version": "0.4.0-1ubuntu2.1", "binary_name": "libcapnp-0.4.0" }, { "binary_version": "0.4.0-1ubuntu2.1", "binary_name": "libcapnp-0.4.0-dbgsym" }, { "binary_version": "0.4.0-1ubuntu2.1", "binary_name": "libcapnp-dev" } ] }
{ "availability": "No subscription required", "ubuntu_priority": "low", "binaries": [ { "binary_version": "0.5.3-2ubuntu1.1", "binary_name": "capnproto" }, { "binary_version": "0.5.3-2ubuntu1.1", "binary_name": "capnproto-dbgsym" }, { "binary_version": "0.5.3-2ubuntu1.1", "binary_name": "libcapnp-0.5.3" }, { "binary_version": "0.5.3-2ubuntu1.1", "binary_name": "libcapnp-0.5.3-dbgsym" }, { "binary_version": "0.5.3-2ubuntu1.1", "binary_name": "libcapnp-dev" } ] }
{ "availability": "No subscription required", "ubuntu_priority": "low", "binaries": [ { "binary_version": "0.6.1-1", "binary_name": "capnproto" }, { "binary_version": "0.6.1-1", "binary_name": "capnproto-dbgsym" }, { "binary_version": "0.6.1-1", "binary_name": "libcapnp-0.6.1" }, { "binary_version": "0.6.1-1", "binary_name": "libcapnp-0.6.1-dbgsym" }, { "binary_version": "0.6.1-1", "binary_name": "libcapnp-dev" } ] }