首页 时政热点 科技头条 智能AI 安全攻防 数码硬件 开发者生态 汽车 游戏 社会热点 开源推荐 医疗健康 归档 标签 关于

Radicle:网络协议漏洞的披露

摘要

Radicle is a peer-to-peer, local-first code collaboration stack built on Git. Disclosure of Vulnerability in the Network Protocol 23.09.2026 Summary What happened? Two critical security vulnerabilitie...

the network nodes and Radicle issue between not this can
2026-09-24 1 阅读 约5分钟阅读 lostmsu
分享:
字号:
Radicle 是一个基于 Git 构建的点对点、本地优先的代码协作堆栈。网络协议漏洞披露 2026 年 9 月 23 日 摘要 发生了什么?据报道,Radicle 节点使用的网络协议中存在两个严重安全漏洞。哪些版本受到影响?迄今为止发布的所有版本的Radicle 都容易受到攻击。有什么问题吗?节点之间的网络流量未加密且未经过身份验证。通过签名引用对存储库内容进行身份验证仍然可以检测两个节点之间的网络路径上的攻击者是否修改了传输中的对象。因此,主要关注的是信息泄漏,即攻击者沿着两个节点之间的网络路径读取传输中的对象。对于公共存储库来说,信息泄露不太令人担忧。然而,传输中的加密对于私有存储库至关重要。用户应该做什么?我们建议停止使用私有存储库,直到发布修复程序。修复版什么时候发布?由于缺乏版本协商功能,加上修复在线路上不兼容,向后兼容的缓解措施是不可行的;这意味着解决此问题的版本将被破坏,从而提高主版本号。相关工作正在进行中。通过此次披露,我们的目标首先是诚实、清晰地了解情况,以便用户在我们制定解决方案时能够进行评估并采取相应行动。漏洞 Radicle 使用的网络协议没有提供预期的保密性。任何可以观察两个节点之间的网络路径的人都可以读取它们交换的数据,因为数据是以纯文本形式发送的。 Konstantinos Maninakis 于 2026 年 6 月 24 日向我们报告了这一情况。您可以在 https://maninak.com/blog/radicle-cleartext-transport-vulnerability/ 阅读他关于该问题的帖子。我们向上游举报,请参阅此问题。连接握手中的对等身份验证被破坏并允许冒充。攻击者可以连接到您的节点并提供不属于其自己的节点 ID。私有存储库仅与列入允许列表的节点 ID 共享。伪造列入允许列表的节点 ID 的攻击者可以直接获取私有存储库,而无需位于网络路径上。这是 cryptocode 于 2026 年 8 月 12 日向我们报告的。我们建议对上游进行修复,请参阅此拉取请求。第二个缺陷本身比听起来更难利用。要冒充列入白名单的节点 ID,攻击者必须首先知道一个。允许列表不是公开的,因此不在网络路径上的攻击者必须猜测。实际上,当这两个缺陷可以一起被利用时,它们是最有用的:路径上的攻击者可以看到连接两端的节点 ID,并且两者通常都在允许列表中。攻击者可以在观看时读取交换的任何内容,然后可以使用他们看到的节点 ID 按需获取整个存储库。现实的威胁是您的节点和与之同步的节点之间路径上的任何人,并且没有任何设置或允许列表可以防范他们。我们将在安全更新可用之前发布此内容。您今天就可以采取行动,我们稍后发布的任何修复程序都无法撤消已经发生的曝光。解决方法 停止使用私有存储库(通过网络),直到发布安全更新。停止播种私有存储库,如下所述。但是,您可能希望将私有存储库保留在存储中,即不要完全删除它们,以便在发布固定版本后可以再次开始播种它们。考虑一下您通过网络传输到另一个节点的每个私有存储库是否已泄露。如果它包含未加密的凭据、密钥或令牌,请轮换它们。使用额外的加密传输(例如 Tor、I2P 或其他覆盖网络或 VPN 解决方案)不足以保护您的数据。它们沿着两个节点之间的网络路径向攻击者隐藏网络流量。尽管这限制了攻击面,但这并不能阻止对等冒充,而且有针对性的复杂攻击可能会导致私有存储库的内容被泄露。如何停止为私有存储库做种 列出存储中的私有存储库: 将单个存储库的播种策略更改为“阻止”: 注意:我们建议使用 rad block 而不是 rad unseed ,以防您的节点的播种策略设置为 allowed 。 rad unseed 会删除存储库的播种策略,然后您的节点将恢复到其默认策略。默认值为 block ,因此在默认配置下 rad unseed 就足够了。如果您将默认播种策略更改为 allowed ,则在您取消播种后,您的节点将继续为存储库提供服务。 rad 块设置一个显式块,节点首先检查该块,因此无论哪种方式都可以工作。完全停止节点: 其实现的效果存在三个限制: 它会停止您的节点为存储库提供服务。它不会删除您的本地副本。副本保留在 $(rad path)/storage 中
这篇文章对您有帮助吗?

订阅66必读

每日精选科技资讯,直达你的邮箱