Posted by lostmsu 6 hours ago
> Network traffic between nodes is not encrypted and not authenticated.
Oh.
After all of the work they put into using cryptographic identities and decentralization tricks, how did they forget to do anything about the network traffic?
Was this a case of thinking they'd handle it later, but then it fell off the TODO list?
Which I can understand to an extent with large, high-traffic dependencies but these were really low traffic projects with like 10 stars on github and barely any development... Well, hindsight is 20/20.
It's unfortunate that write-up is AI generated ("Here's the catch... And this is the part that honestly surprised me" tipped me off, and Pangram cites it as 100% AI too), because it's hard to understand what's happening.
It looks like the Noise API can be confusing. They tried to implement it, got the handshake and key exchange right, but then used Noise API calls intended for sending raw data directly to the wire without the encryption they set up? So keys were exchanged, then never used?
I believe the blog post being referred to here is the one linked to in the title (i.e. https://radicle.dev/2026/09/23/disclosure-of-vulnerability-i...)
announcement 3 months later is not super great, considering that the current advice is "Stop using private repositories (over the network) until the security update is released."
FAQ still says that "Radicle supports private repositories [...] completely invisible to the rest of the network" [1]
[0] https://radicle.dev/guides/user#initializing-a-private-repos...
Me: "No!"
As a bonus, this should help camouflage the traffic. (Iroh is becoming more common.)
Is this a... design choice? This feels like too egregious of an omission to be a regular vulnerability here.
This, unfortunately, kinda seals the deal on never using this thing, at least not for anything I intend to keep private. This isn't about proficiency in some protocol which has XYZ footgun: they never checked that payloads were encrypted. Ridiculous.
Try https://radicle.network/explore and set index.radicle.garden as your search seed.
In any system that provides security it should only be designed to run if the security is in use, and to fail immediately with no further action if the security is not used.
> Peer authentication in the connection handshake is broken and allows impersonation. An attacker can connect to your node and present a Node ID that is not its own. Private repositories are shared only with allow-listed Node IDs. An attacker who fakes an allow-listed Node ID can fetch a private repository directly, without being on the network path. This was reported to us by cryptocode on 2026-08-12. We proposed a fix upstream, see this pull request.
They are trying to sweet write it as much as possible. But basically there is neither encryption nor authentication. The person who made the protocol/program simply didn't care.
But seriously, the fact that this started as Crypto-adjacent should have immediately disqualified them for serious use.