Radicle: Disclosure of Vulnerability in the Network Protocol

(radicle.dev)

105 points | by lostmsu 7 hours ago ago

36 comments

  • Aurornis 4 hours ago ago

    > What is the issue?

    > 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?

    • dkmb 4 hours ago ago

      Reading the blog, it sounds more like they were depending on libraries (both by Cyphernet, interestingly) and implicitly trusting them, instead of verifying.

      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.

      • Aurornis 3 hours ago ago

        Do you mean this blog post? https://maninak.com/blog/radicle-cleartext-transport-vulnera...

        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?

  • john_strinlai 6 hours ago ago

    >This was reported to us by Konstantinos Maninakis on 2026-06-24.

    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."

    • vocx2tx 4 hours ago ago

      Also: user guide still mentions supporting private repositories [0]

      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...

      [1] https://radicle.dev/faq

      • gsaslis an hour ago ago

        Thank you for noticing. We need to fix that.

    • conartist6 4 hours ago ago

      I was floored that they emailed me about it for the first time today saying "of course you already know all the details from the blog post".

      Me: "No!"

      • gsaslis 2 hours ago ago

        For the record, that is not what the Zulip announcement wrote. Please don't kick us when we're down.

  • sondr3 4 hours ago ago

    The fact that this was reported three months ago and the "workaround" is to stop using private repos and assume they are all pwnd is quite something. How do you not notice that cross-node traffic is not encrypted when building something like this?

  • skullone 5 hours ago ago

    This whole project reads like amateur hour. Still using curl pipe to shell install and everything. Plus this lax security disclosure with just an outstandingly foolish security flaw. Gross.

    • hirako2000 4 hours ago ago

      It's a team of 3. It's not like they have a security team, dedicated testers. They were for very long releasing beta software. That in fact already worked.

      • zitterbewegung 3 hours ago ago

        If a core feature of your software requires security guarantees you can't just say they don't have a "security team" .

      • Veserv 30 minutes ago ago

        Oh, so when they advertise “Your Data, Forever and Secure”[1] in big bold letters on their homepage with total disregard for the truth of that statement they are just committing fraud. Got it.

        [1] https://radicle.dev/

    • Arrowmaster 2 hours ago ago

      To be fair even the largest companies are still using curl piped to sh in their Linux install instructions. And they are all fucking imbeciles.

  • jscd 3 hours ago ago

    Radicle has been one of those projects that had seemed interesting, but something always bothered me about it. (I think it was very highly tied to the cryptocurrency movement for a while? And the Cyphernet GitHub org seems to have rebranded from a DAO?)

    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.

  • iamnothere 4 hours ago ago

    Glad to hear they are moving to iroh instead of a custom protocol. This is the problem with rolling your own stuff.

    As a bonus, this should help camouflage the traffic. (Iroh is becoming more common.)

  • lxe 3 hours ago ago

    > The network protocol used by Radicle does not give the confidentiality it was expected to give. Anyone who can observe the network path between two nodes can read the data they exchange as the data is sent in plain text.

    Is this a... design choice? This feels like too egregious of an omission to be a regular vulnerability here.

  • Velocifyer 6 hours ago ago

    My main wish is if radicle had a way to make issues online, without installing the software. Runing a piece of software is a high barrier of entry to make a bug report, which the entire reason I use codeberg instead.

    • someonebaggy 6 hours ago ago

      That's a downside of all decentralised software, isn't it? If there's a convenient access point, that access point is also a point of centralisation. To be distributed, you have to be running the software yourself. The big problem is that the software always ends up being inconvenient. People have no problem using bittorrent because the software is actually usable.

    • hirako2000 4 hours ago ago

      They have public repositories on GitHub.

      https://github.com/radicle-dev

    • Groxx 5 hours ago ago

      Like onion/ipfs/many others, I'd expect gateways to pop up if it grows relatively popular. If LLM scrapers don't destroy them immediately, at least.

    • AuthAuth 3 hours ago ago

      My main wish is a way to search the repositories on a node. Or a way to have tags. The whole network is like a blackbox of projects unless you can get an outside link.

  • Tiberium 6 hours ago ago

    I honestly thought there would be some elaborate chain there, not "we forgot to use encryption"...

    • pixl97 6 hours ago ago

      Honestly issues like this crop up pretty commonly. JWT alg:none for example. Or even older people forcing SSL to downgrade to encryption null.

      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.

    • csomar 5 hours ago ago

      And not using authentication.

      > 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.

      • ktm5j 5 hours ago ago

        I find this to be very telling about what kind of people they are. If you make a mistake this big you need to own up to it. BS all you want, maybe you think that works for you.. but people see through it.

    • this_user 3 hours ago ago

      They probably forgot to tell Claude to make no mistakes.

      But seriously, the fact that this started as Crypto-adjacent should have immediately disqualified them for serious use.

    • iknwnothing 4 hours ago ago

      exactly!

  • gojomo 5 hours ago ago

    Is there a risk that other projects that may be using the same cyphernet-labs/netservices.rs code, like Nym & Farcaster, have also been expecting authentication & encryption where it hasn't been happening?

  • ewy1 6 hours ago ago

    thankfully (for me), this is about the git forge and not the oss calendar and contact synchronization software by the same name

    https://radicale.org/v3.html

    • kamranjon 6 hours ago ago

      it's not the same name

      • ewy1 5 hours ago ago

        you're right! i can't believe i only noticed that just now, thanks!