- Top reward
- $1,500
- Top severity paid
- Critical
- Assets in scope
- 10
- Public CVEs
- 9
- Last change
- No changes yet
At a glance
What to know before you start testing.
- Pays from $1,500
- for critical bugs.
- Report on Sorona
- Submit through the program page.
- Partial safe harbor
- Some legal protection; read the terms.
- Publish after a fix
- Coordinate the timing with the company.
Rewards
What Sorona lists as the payout for each severity.
| Severity | Relative size | Reward |
|---|---|---|
| Critical | $1,500+ | |
| High | $700+ | |
| Medium | $300+ | |
| Low |
|
$100 $100 / 1 month Claude Max |
- Safe harbor
-
Partial
Sorona will not pursue legal action against you for good-faith research submitted to us in line with this policy. We cannot speak for the upstream project, its vendor, or any third party, and we do not grant authorization on their behalf.
Summarised with AI from the program policy on Sorona, read 12 Nov 2026, and checked word for word against it. Read the original
Scope
10 assets you may test, 5 excluded.
Web 1
- https://capnproto.org
Products and areas 9
- Anything that decodes a message received from an untrusted peer, whether or not that path currently carries an advisory
- capnproto.org directs security reports privately to [email protected] and draws no boundary narrower than the project itself. There is no published exclusion list, so treat the whole tree as in scope
- KJ-HTTP end to end: request and response parsing, header handling, chunked encoding, Content-Length arithmetic and WebSocket framing
- Packing and unpacking, plus the canonicalisation path
- The KJ library that ships with it, including the async framework, the event loop and the I/O layer
- The other language implementations maintained in the project tree, and the C++ serialization core they wrap
- The RPC layer and its capability model: promise pipelining, capability tables, three-party handoff and the level-3 machinery, and the membrane and revocation logic that decides what a peer may still invoke
- The schema compiler and the generated C++ code, including the accessors that enforce bounds at read time
- The wire format decoder in full: pointer validation, struct and list layouts, far pointers, the segment table and the traversal and depth limits meant to bound a malicious message
Out of scope (5)
- Applications that misuse the API, for example ignoring the traversal limit the library provides, where Cap'n Proto behaved as documented
- Cloudflare's own products and infrastructure. A finding against workerd or the Workers platform belongs in Cloudflare's programme, where workerd is bounty-eligible at critical severity
- github.com/cloudflare/recapn, Cloudflare's separate Rust implementation, which is listed on their programme and is not this project
- Third-party Cap'n Proto implementations maintained outside the project
- Upstream dependency vulnerabilities, unless the project's own use of the dependency is what makes them reachable
Rules
What the policy asks of you, and the bug types it won't reward, quoted from Sorona's policy.
While testing
-
Submit through sorona.xyz.
-
Report privately by email to the address on the policy page , the contact capnproto.org publishes for security issues
-
Say whether the finding is in the serialization layer, in the RPC layer or in KJ.
-
Include the message or request bytes that reproduce it, plus the version.
-
Reproduce your finding against a build and attach the artifact rather than describing a suspicion
Not accepted
-
Applications that misuse the API, for example ignoring the traversal limit the library provides, where Cap'n Proto behaved as documented
-
Upstream dependency vulnerabilities, unless the project's own use of the dependency is what makes them reachable
Summarised with AI from the program policy on Sorona, read 12 Nov 2026, and checked word for word against it. Read the original
Changes
Tracked since 11 Nov 2026. Last checked 1 hour ago.
No changes yet. When the rewards or scope move, you will see it here and in the RSS feed.
Public CVEs
Published vulnerabilities in this vendor's products, from the NVD.
| CVE | Summary | Severity | Published |
|---|---|---|---|
| CVE-2026-32239 | Cap'n Proto is a data interchange format and capability-based RPC system. Prior to 1.4.0, a negative Content-Length value was converted to unsigned, treating it as an impossibly large length instead. In theory, this bug could enable HTTP request/response smuggling. This vulnerability is fixed in 1.4.0. | Medium 6.3 | 12 Mar 2026 |
| CVE-2026-32240 | Cap'n Proto is a data interchange format and capability-based RPC system. Prior to 1.4.0, when using Transfer-Encoding: chunked, if a chunk's size parsed to a value of 2^64 or larger, it would be truncated to a 64-bit integer. In theory, this bug could enable HTTP request/response smuggling. This vulnerability is fixed in 1.4.0. | Medium 6.3 | 12 Mar 2026 |
| CVE-2023-48230 | 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 ar | Medium 5.9 | 21 Nov 2023 |
| CVE-2022-46149 | 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 m | Medium 5.4 | 30 Nov 2022 |
| CVE-2015-2310 | Integer overflow in layout.c++ in Sandstorm Cap'n Proto before 0.4.1.1 and 0.5.x before 0.5.1.1 allows remote peers to cause a denial of service or possibly obtain sensitive information from memory via a crafted message, related to pointer validation. | Critical 9.1 | 9 Aug 2017 |
| CVE-2015-2311 | Integer underflow in Sandstorm Cap'n Proto before 0.4.1.1 and 0.5.x before 0.5.1.1 might allow remote peers to cause a denial of service or possibly obtain sensitive information from memory or execute arbitrary code via a crafted message. | Critical 9.8 | 9 Aug 2017 |
| CVE-2015-2312 | Sandstorm Cap'n Proto before 0.4.1.1 and 0.5.x before 0.5.1.1 allows remote peers to cause a denial of service (CPU and possibly general resource consumption) via a list with a large number of elements. | High 7.5 | 9 Aug 2017 |
| CVE-2015-2313 | Sandstorm Cap'n Proto before 0.4.1.1 and 0.5.x before 0.5.1.2, when an application invokes the totalSize method on an object reader, allows remote peers to cause a denial of service (CPU consumption) via a crafted small message, which triggers a "tight" for loop. NOTE: this vulnerability exists because of an incomplete fix for CVE-2015-2312. | High 7.5 | 9 Aug 2017 |
| CVE-2017-7892 | 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 | High 7.5 | 17 Apr 2017 |
Original policy
Copied from sorona.xyz on 12 Nov 2026. The summaries on this page are made from it; the live page may have changed since.
Skip to content What this pays This project runs no bounty of its own. sorona.xyz pays you directly on qualified, reproduced findings. Severity │ sorona.xyz pays Critical │ $1,500+ High │ $700+ Medium │ $300+ Low │ $100 / 1 month Claude Max Submit a vulnerability CVE history 2 Last 12 months 5 Lifetime Integer overflow 35 % Memory safety 30 % HTTP and protocol parsing 20 % Denial of service 15 % Latest advisories Loading the feed Overview Cap'n Proto is a binary serialization format with a capability-based RPC layer, and it ships with KJ, its own async and HTTP library. It is the wire format of the Cloudflare Workers runtime and workerd, so a decoding defect there is reachable from traffic arriving at a large slice of the internet's edge. The July 2026 v1.5 security rollup is the reference point: ten reporters credited in a single batch, all of them paid in credit. Cloudflare employs the maintainer and has explicitly declined to put Cap'n Proto in its paid programme, so sorona.xyz pays you directly on qualified, reproduced findings. In scope capnproto.org directs security reports privately to [email protected] and draws no boundary narrower than the project itself. There is no published exclusion list, so treat the whole tree as in scope The wire format decoder in full: pointer validation, struct and list layouts, far pointers, the segment table and the traversal and depth limits meant to bound a malicious message Packing and unpacking, plus the canonicalisation path The RPC layer and its capability model: promise pipelining, capability tables, three-party handoff and the level-3 machinery, and the membrane and revocation logic that decides what a peer may still invoke The KJ library that ships with it, including the async framework, the event loop and the I/O layer KJ-HTTP end to end: request and response parsing, header handling, chunked encoding, Content-Length arithmetic and WebSocket framing The schema compiler and the generated C++ code, including the accessors that enforce bounds at read time The other language implementations maintained in the project tree, and the C++ serialization core they wrap Anything that decodes a message received from an untrusted peer, whether or not that path currently carries an advisory Out of scope Cloudflare's own products and infrastructure. A finding against workerd or the Workers platform belongs in Cloudflare's programme, where workerd is bounty-eligible at critical severity github.com/cloudflare/recapn , Cloudflare's separate Rust implementation, which is listed on their programme and is not this project Third-party Cap'n Proto implementations maintained outside the project Applications that misuse the API, for example ignoring the traversal limit the library provides, where Cap'n Proto behaved as documented Upstream dependency vulnerabilities, unless the project's own use of the dependency is what makes them reachable Most-valued findings Integer overflow in pointer, offset or size arithmetic in the wire-format decoder. GHSA-vpcq-mx5v-32wm landed in that class and it is the densest part of this record Anything in KJ-HTTP that mishandles a length. GHSA-qjx3-pp3m-9jpm turned on a negative Content-Length, and header, chunk and framing arithmetic sit on the same surface Escapes from the traversal, depth or amplification limits, since those limits are the only thing standing between a small malicious message and unbounded work Capability confusion in the RPC layer: any path that hands a peer a capability it should not hold, or that survives revocation Memory-safety defects reachable from a single decoded message with no prior handshake, given where this format sits in an edge runtime Defects that reproduce through workerd, which raises severity considerably and is worth reporting to Cloudflare separately as a workerd finding Program rules Submit through sorona.xyz. This project runs no bounty of its own; we validate, coordinate disclosure with the maintainers, and pay you directly. Report privately by email to [email protected] , the contact capnproto.org publishes for security issues GitHub private vulnerability reporting is disabled on capnproto/capnproto , so the advisory button is not an option here even though it is the norm elsewhere in this category Say whether the finding is in the serialization layer, in the RPC layer or in KJ. KJ ships its own async and HTTP stack and its bugs land differently from wire-format bugs Include the message or request bytes that reproduce it, plus the version. The published advisories are precise about which release is affected If you can show the defect reaching a live workerd deployment, note that Cloudflare's own programme treats workerd as bounty-eligible at critical severity. That is a separate report to Cloudflare against workerd, not against Cap'n Proto The maintainer has noted a rise in AI-assisted reports. Reproduce your finding against a build and attach the artifact rather than describing a suspicion Disclosure Coordinated privately by email with the maintainer and published as a GitHub Security Advisory alongside a release. The project has favoured batched rollups, with the v1.5 rollup in July 2026 clearing ten reporters at once, so the practical embargo runs to the next rollup release rather than to a published day count. Credit is given in the advisory and in the rollup document. Safe harbor Sorona will not pursue legal action against you for good-faith research submitted to us in line with this policy. We cannot speak for the upstream project, its vendor, or any third party, and we do not grant authorization on their behalf. You are responsible for understanding and following the laws that apply to you, wherever you are, and for staying within any scope the project has defined. Submit a vulnerability