We are shipping Chia 2.7.1 today.
If you have not already taken up 2.6.0, 2.6.1 or 2.70, we will be disclosing the security fixes in those releases in this document, please patch now. It is critical for all users to immediately install 2.7.1. As it addresses similarly significant issues in its own right.
Note: This post will disclose some very serious security issues.
To our knowledge, none of these bugs have ever been used in any attacks on mainnet. We are grateful for the diligence of our engineering and security teams, and the skill of the external researchers who shared their findings responsibly and gave us an advantage to release the fixes before anyone was able to exploit the bugs.
This release is the next step in the same security push that produced the 2.6.0, 2.6.1, and 2.7.0 releases. We’re including more fixes and more strengthening using what we learned from our internal facing research and the bug bounty program.
Install 2.7.1. A post mortem for this release will be forthcoming. As always.
Please note, there is particular urgency because of a related post mortem.
During the run up to release, we inadvertently leaked some private development history which could provide attackers with information on how to attack the issues being patched in this release.
All the code in this history was intended for public consumption, and is now public, but the commits messages and other history made public are a more accurate snapshot of our development process for security fixes than we felt comfortable leaving open source. Nothing else material was leaked, but in the spirit of maximum transparency we wanted to share this with the community.
Consider those few hours a sneak peak pre-mortem, with more to come about why it’s important to us that we provide context for the community to take up another patch so quickly, especially on the heels of several other releases this spring.
Why another release so soon?
Frankly, we are bailing out the boat, from the deluge of AI bounty submissions and our own research and that has turned 2026 into an exciting security year for us.
After 2.7.0 went out, we kept testing, kept reading bounty reports, and kept running internal tools. 2.7.1 folds in what that work found.
Disclosure promises kept
When we pushed the community hard on the 2.6.x / 2.7.0 line, we said we would not ask for blind trust. To make good on our promise, we’ve included detailed write ups.
They are technical, but they are written so you can skim for impact, not so you need a whiteboard to get the headline.
- Chia 2.6.0 security release post-mortem
- Chia 2.6.1 security release post-mortem
- Chia 2.7.0 security release post-mortem

What 2.6.0 fixed (gossip, queues, staged fork rules)
2.6.0 was the release that made transaction gossip boring again. Peers can no longer advertise spends with fees and costs that do not match validation. Zero-cost spam gets thrown away early in validation now. The node no longer allows one loud peer to starve everyone else, and it still gives trusted peers a sane path so your own wallet does not lose a shouting match with the internet.
This release also contained a soft-fork work with stricter rules for block generators in the Rust consensus stack.
2.6.0 disabled op_modpow due to a potential CLVM cost mismatch. It also enforced new size limits on certain division-related operands. We will enable op_modpow and adjust the other CLVM costs in 3.0.
What 2.6.1 fixed (the offer you should worry about)
2.6.1 was more critical in scope and impact. Before 2.6.1, a malicious offer file could cause the wallet to sign spends the user never agreed to, including XCH, CATs, and NFTs moving to an attacker while the victim thought they were clicking “accept” on a normal trade. To be clear, this is a bug in how offers were being interpreted by the wallet, and not in the offer protocol. 2.6.1 stops that class of mistake on the take-offer path. To reiterate the importance, it is critical for all users to immediately take up the latest version of Chia.
Everything else in 2.6.1 reads like a long changelog because it is defense in depth. Oversized handshake fields, bad connection accounting, huge request lists, unsolicited compact VDF traffic, timelord connection leaks, full-node crashes on bad batches, and tighter checks on which peer role may call which handler.
The data layer picked up timeouts and safer upload control flow. Offer summaries got a CPU budget. Rust and Python now agree on integer decoding at the edges where disagreement becomes consensus risk. The GUI tightened offer notification domain checks. One CLVM serialization pain point was noted as not fully closed until 2.7.0.
What 2.7.0 fixed (unsolicited work, fork timing, the last mile)
This patch included code to reject unsolicited full transaction responses unless they match a request, enforcing rate limits in a way that makes much more sense. It also includes strict accounting for unknown protocol types, sanitized peer version strings in logs, safer coin subscription handling, and timelord fixes so invalid VDF proofs were not broadcast after a failed check.
Data layer parsing got sane size limits. Plugin downloads got timeouts. Rust amount parsing is unified across helpers that now must agree. BLS-heavy CLVM work got faster in the dependency stack, with full consensus cost realignment still slated for the 3.0 hard fork.
The previously staged rule changes from releases last fall, were targeted to height 8,655,000. Running the latest version is how you stay on the same page as everyone else after that height.
Back to 2.7.1, and the work still in flight
2.7.1 is the release we want on disk today. It inherits the whole stack above and adds what we found next. As usual, we will do a full disclosure of everything that went into this build once it has achieved sufficient uptake.
This is what we hope will be the normal trailing edge of a security push. We have one more patch version coming later this spring or early summer, which we will keep you posted about to address the less-than-critical, but still important issues we are working on now.
We really appreciate your patience and understanding as we get these fixes out as fast as possible. We understand patch fatigue is real, and we hope that the next release will be the last needed in this series of fixes.
We would however like to set the expectation that every version of chia for the foreseeable future might include at least some fixes aimed at security issues. We appreciate the patience and persistence of our community while we find our footing in this brave new world.