Read the docs
TI-2023-26094 Aliases CVE-2023-48230

Cap'n Proto WebSocket message can cause crash

Priority MEDIUM 46CWE-124Published · Updated

Key facts

Attack vector
Network
Privileges required
None
User interaction
None
Attack complexity
Low
Impact type
Code execution
Confidentiality · integrity · availability
High · High · High
Fix status
Fixed

Attack profile from CVSS 3.1 · NVD. Fix status from CNA. Impact type from CWE-787 and the CVSS impact.

Summary

Cap'n Proto is a data interchange format and capability-based RPC system. In versions 1.0 and 1.0.1, when using the KJ HTTP library with WebSocket compression enabled, a buffer underrun can be caused by a remote peer. The underrun always writes a constant value that is not attacker-controlled, likely resulting in a crash, enabling a remote denial-of-service attack. Most Cap'n Proto and KJ users are unlikely to have this functionality enabled and so unlikely to be affected. Maintainers suspect only the Cloudflare Workers Runtime is affected. If KJ HTTP is used with WebSocket compression enabled, a malicious peer may be able to cause a buffer underrun on a heap-allocated buffer. KJ HTTP is an optional library bundled with Cap'n Proto, but is not directly used by Cap'n Proto. WebSocket compression is disabled by default. It must be enabled via a setting passed to the KJ HTTP library via `HttpClientSettings` or `HttpServerSettings`. The bytes written out-of-bounds are always a specific constant 4-byte string `{ 0x00, 0x00, 0xFF, 0xFF }`. Because this string is not controlled by the attacker, maintainers believe it is unlikely that remote code execution is possible. However, it cannot be ruled out. This functionality first appeared in Cap'n Proto 1.0. Previous versions are not affected. This issue is fixed in Cap'n Proto 1.0.1.1.

Why it matters now

EPSS 0.01888 79th percentileScored 2026-11-07
Public exploit Yes 1 exploit referenceTagged by NVD
Fix Fixed capnproto (capnproto): 1.0.1.1

SSVC decision points

Not available: CISA has not published SSVC decision points for this record.

Affected products

VendorProductAffected versionsFixed inStatusSource
capnprotocapnproto1.0 to before 1.0.1.11.0.1.1Patch availableCNA
  • capnproto Vendorcapnproto Affected 1.0 to before 1.0.1.1 Fixed in 1.0.1.1 Patch available CNA

CPE configurations NVD · 2

CPEVersionsRoleVendor
cpe:2.3:a:capnproto:capnproto:1.0.0:*:*:*:*:*:*:*1.0.0Vulnerablecapnproto
cpe:2.3:a:capnproto:capnproto:1.0.1:*:*:*:*:*:*:*1.0.1Vulnerablecapnproto
  • cpe:2.3:a:capnproto:capnproto:1.0.0:*:*:*:*:*:*:* Versions 1.0.0 Vulnerable ·capnproto
  • cpe:2.3:a:capnproto:capnproto:1.0.1:*:*:*:*:*:*:* Versions 1.0.1 Vulnerable ·capnproto

Remediation

  • Fix · CNA capnproto (capnproto) Fixed in 1.0.1.1

Timeline

  1. 2026-10-02 Threatist record created from CVE-2023-48230

References

  • TI-2015-02037 Integer underflow in Sandstorm Cap'n Proto before 0.4.1.1 and 0.5.x before 0.5.1.1 might… CVSS 3.0CRITICAL 9.8
  • TI-2015-02036 Integer overflow in layout.c++ in Sandstorm Cap'n Proto before 0.4.1.1 and 0.5.x before… CVSS 3.1CRITICAL 9.1
  • TI-2017-05503 Sandstorm Cap'n Proto before 0.5.3.1 allows remote crashes related to a compiler… CVSS 3.0HIGH 7.5
  • TI-2015-02039 Sandstorm Cap'n Proto before 0.4.1.1 and 0.5.x before 0.5.1.2, when an application… CVSS 3.0HIGH 7.5
  • TI-2015-02038 Sandstorm Cap'n Proto before 0.4.1.1 and 0.5.x before 0.5.1.1 allows remote peers to… CVSS 3.0HIGH 7.5
  • TI-2026-24769 Cap'n Proto: Integer overflow in KJ-HTTP chunk size CVSS 4.0MEDIUM 6.3
See all 8 →

Sources

This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences