StarDict向远程服务器发送X11剪贴板内容 [LWN.net]
LWN.net
来自源头的新闻
订阅者专享内容
以下内容由LWN订阅者向您开放。数千名订阅者依赖LWN获取Linux和自由软件社区的最佳新闻。如果您喜欢本文,请考虑订阅LWN。感谢访问LWN.net!
作者:Daroc Alden | 2025年8月11日
StarDict是一款基于GPLv3协议的跨平台字典应用,支持多语言词典并拥有丰富的插件生态系统。但它存在一个显著的安全问题:在X11环境下运行时(采用Debian默认配置),它会通过未加密的HTTP协议将用户选中的文本发送到两个远程服务器。
8月4日,Vincent Lefevre向oss-security邮件列表和Debian缺陷跟踪系统报告了该问题。他在测试即将发布的Debian 13(“trixie”)配置时发现了此问题。安装StarDict时会默认安装stardict-plugin包(因为前者推荐后者)。插件包包含一组常用StarDict插件,其中包括支持中英翻译的中国搜索引擎有道插件。该插件还会联系另一个在线中文字典dict.cn。
这通常不会引起太多关注——字典程序自然需要与提供词典的网站通信。但StarDict的一项默认启用的功能是"扫描"功能:它会监视用户的文本选择(即用鼠标高亮显示的文本),并自动弹出翻译结果。两个功能结合导致任何选中的文本都会被发送到两个服务器。此行为仅在StarDict开启时发生,但该应用设计为常驻后台以便用户阅读时快速查询。
在Wayland上运行的StarDict没有此问题,因为Wayland默认阻止应用程序捕获其他应用的文本。但这也会破坏StarDict的扫描功能。
StarDict的Debian包维护者Xiao Sheng Wen认为此行为没有问题,指出用户如果不想要扫描功能或有道插件,均可禁用。Lefevre对此回应表示不满:
但这并非关键。涉及隐私的功能绝不应默认启用(除非该功能是软件包的唯一目的,且此类软件包不应自动安装——即使如此,也应首先给出明显警告)。
Xiao回应指出,任何选择安装软件的用户都可以阅读软件包描述,其中确实提到了扫描功能。但笔者调查发现,stardict-plugin的描述未提及有道插件使用在线服务而非离线词典。Xiao建议将联网字典插件拆分为独立包,但"不确定是否非常必要"。
值得注意的是,扫描功能虽然在此背景下明显存在问题,但也是用户选择StarDict而非其他工具的原因之一。阅读外语内容时,能快速查词会使过程更轻松。从这个角度,Xiao可能不认为该功能有问题。
任何阅读过软件包描述且了解有道插件行为的用户,可能仍期望通信至少被加密。但该插件实际上通过未加密的HTTP连接其后端服务器(dict.youdao.com和dict.cn)。因此,不仅这些服务器会收到用户选中的文本,任何能监视流量路径的人都能看到相同内容。
这甚至不是StarDict首次将用户选中文本发送到互联网:同类问题曾于2009年由Pavel Machek报告,2015年由"niekt0"再次报告。2009年的问题通过修补应用默认配置禁用联网字典解决,但2016年添加的有道插件不遵守该配置选项。2015年的问题直到今年8月6日才修复(尽管该包因无关原因在2020至2021年间被移出Debian数月)。该修复仅从包中移除了stardict_dictdotcn.so插件(它也向dict.cn发送翻译请求,后被有道插件取代)。公平而言,Xiao在2015年并非StarDict维护者(当时是Andrew Lee),但Xiao至少自2021年已知晓2015年的问题,即使他未将其视为优先事项。
根据Debian的软件包流行度统计,仅178人安装了StarDict(低于2009至2015年间的约一千人)。这显然未涵盖配置系统不参与统计收集的用户,但表明可能有多人多年来向互联网广播其文本选择。考虑到人们从密码管理器复制粘贴密码,或在编辑过程中选中敏感邮件和文档的文本,这应引起重大关注。
Debian是一个包含数万个软件包的大型发行版。此外,出于对稳定性的承诺,其中相当一部分是更新延迟或零散的旧软件。现实是,Linus定律(“只要有足够多的眼睛,所有缺陷都是浅显的”)仅在有人关注时才成立——且一旦他们关注并报告问题,软件维护者实际同意存在问题。
从X11转向Wayland的部分理由是为避免一个应用窥探另一个应用的安全漏洞更难引入。这显然需要与适应新方式的成本平衡,但不难理解为何许多人渴望让Wayland工作。也许未来StarDict的默认行为影响甚微。或者StarDict可能开始请求特殊权限以在Wayland上工作,而用户会像当前一样接受这些默认设置。
无论如何,严重安全问题可被发现、诊断、报告却仍未被修复的存在令人担忧。Linux长期享有安全声誉;维护该声誉取决于开源软件的开发者、维护者和用户足够关心以在出现安全问题时修复它们。
用户评论
Beauty is all around
2025年8月11日 17:28 UTC (周一) | jadedctrl (订阅者, #178426) | [链接]
我大笑出声——太喜欢这个了,这默认行为真的疯狂。甚至不用HTTPS!这世界真美妙。
memory
2025年8月11日 17:37 UTC (周一) | shironeko (订阅者, #159952) | [链接] (1回应)
我记得以前在XP机器上用过类似的东西。如今想到这类事情还存在真是疯狂,至少应该做个工具提示让用户确认后再发送到互联网。
memory
2025年8月12日 10:29 UTC (周二) | aragilar (订阅者, #122569) | [链接]
是WordNet吗?我记得有类似的东西存在,不确定是否有与StarDict相同的问题。
Seriously?
2025年8月11日 18:05 UTC (周一) | wtarreau (订阅者, #51152) | [链接] (6回应)
我认为问题甚至不在于它通过明文HTTP通信,而在于它首先发送这些数据!谁能想到你选中的文本(可能包含邮件片段、服务器配置、密码等)会被发送到一个神秘的远程站点?我说这是件好事,因为它使用明文,让人立即注意到发生了什么。CnC服务器通常通过加密通道这样做,恰恰让你无法察觉 ;-)
Seriously?
2025年8月11日 18:31 UTC (周一) | Wol (订阅者, #4433) | [链接] (4回应)
确实。如果你在工作中处理"绝密知识产权"呢?叫我对此类胡言乱语愤世嫉俗吧,但如果它通过明文向中国服务器发送机密文档片段,那就是典型的工业间谍!
Seriously?
2025年8月12日 7:33 UTC (周二) | chris_se (订阅者, #99706) | [链接] (3回应)
那是典型的工业间谍!
不,没有任何佐证证据时,汉隆剃刀原则适用。该功能本身会被某些人认为有用,我猜作者不太关心隐私,但并非出于恶意,而是视角不同。
这不会让问题影响好转,但我认为这种修辞毫无帮助。
Seriously?
2025年8月12日 8:37 UTC (周二) | Wol (订阅者, #4433) | [链接] (2回应)
这不会让问题影响好转,但我认为这种修辞毫无帮助。
考虑到影响可能包括严重经济损失(记住,美国很特殊,在世界其他地区,仅经济秘密披露就会摧毁任何价值),我认为我并不夸张。
如果我(作为外部人员)注意到该文档,我可以用它阻止任何专利申请。好吧,间谍暗示意图,但最终结果几乎相同。
Seriously?
2025年8月12日 11:26 UTC (周二) | mathstuf (订阅者, #69389) | [链接] (1回应)
(记住,美国很特殊,在世界其他地区,仅经济秘密披露就会摧毁任何价值)
如果你指的是世界其他地区使用的"先申请"政策…美国在2013年加入了该阵营[1]。
[1] https://en.wikipedia.org/wiki/First_to_file_and_first_to_…
Seriously?
2025年8月12日 14:40 UTC (周二) | Wol (订阅者, #4433) | [链接]
不,世界其他地区并不(且据我所知大多从未)使用"先申请"。
世界其他地区使用"申请必须是首次公开"——如果你今天意外泄露申请文件,明天申请,该泄露算作现有技术并使申请无效。这发生过!(“公开"意为"向公众提供”,不一定是我们通常意义上的"印刷副本并出售"。包括在公交上意外丢失副本…)
就世界其他地区而言,“先申请"只是首次公开规则的意外副产品——如果我的申请早于你,任何冲突都会以我有利解决,不是因为我比你早申请,而是因为我比你早公开。这就是为何不时讨论"发明期刊”——其全部目的是防止未来任何基于这些思想的专利申请,因为"先公开"。
问题是,如果专利审查员主要只阅读专利申请,他们可能因 unaware of prior publications 而授予无效专利。
Seriously?
2025年8月12日 7:02 UTC (周二) | danieldk (订阅者, #27876) | [链接]
我最惊讶的是Debian维护者的放任态度。如文章所述(无论好坏),Linux以安全和隐私立场闻名。我认识的大多数Debian用户高度重视隐私,然后该软件包维护者却表示"通过未加密方式向某服务器发送所有剪贴板数据且未真正告知用户?<耸肩>"。
我很高兴这再次被发现。
Upstream is pretty surreal.
2025年8月11日 20:26 UTC (周一) | Hobart (订阅者, #59974) | [链接] (2回应)
从StarDict页面,我通过Wayback Machine链接到作者不再活跃的主页。
它…不寻常。https://web.archive.org/web/20230704145152/http://www.huz…
Upstream is pretty surreal.
2025年8月12日 0:43 UTC (周二) | shironeko (订阅者, #159952) | [链接] (1回应)
深入挖掘,作者在2008年左右开始行为相当怪异,皈依佛教,2011年失踪后被发现。之后他的状况越来越差,2013-14年左右他的在线通信几乎完全精神分裂。不确定网站发生了什么,从archive.org看他在2023年仍活跃。
Upstream is pretty surreal.
2025年8月12日 0:54 UTC (周二) | shironeko (订阅者, #159952) | [链接]
刚注意到今天是Terry去世的日子,安息。
2025年8月12日 4:14 UTC (周二) | pabs (订阅者, #43278) | [链接]
发行版中存在众多隐私问题,一些已知,大多数可能未知,Debian的一些例子:
例如,Evolution/Balsa/Geary在HTML邮件中存在隐私问题:
https://www.emailprivacytester.com/badClients
幸运的是,有像opensnitch这样的工具可以阻止部分问题:
https://github.com/evilsocket/opensnitch
Distro privacy policies?
2025年8月12日 4:18 UTC (周二) | pabs (订阅者, #43278) | [链接]
我想知道有多少发行版对其分发的软件包有隐私政策,以及像修复安全问题一样修复这些问题的隐私支持。
Security policy and secure-by-default
2025年8月12日 5:07 UTC (周二) | gdt (订阅者, #6284) | [链接]
文章链接的Debian BTS值得一读,以查看对安全的不同观点,特别是围绕默认安全的安全策略(自1988年事件以来,这一直是类Unix操作系统的典型策略。我在Debian Policy Manual(打包者的主要指南)中未看到提及;可能轻易错过了)。
I wrote my own stardict comatible library and app
2025年8月12日 8:17 UTC (周二) | metan (订阅者, #74107) | [链接]
我从不喜欢stardict应用,因此写了一个简单库[1]来查找stardict格式字典,包括用于查找翻译的简单命令行工具。还有一个基于该库的非常简单的图形应用[2]。如果有人感兴趣,可以从OBS[3]获取包。
[1] https://github.com/gfxprim/libstardict
[2] https://github.com/gfxprim/gpdict
[3] http://gfxprim.ucw.cz/packages.html
GDPR violation
2025年8月12日 10:54 UTC (周二) | helge.bahmann (订阅者, #56804) | [链接] (1回应)
考虑到剪贴板数据的敏感性相当非特定(可能包含医疗数据),该功能可能需要_明确_知情同意(即使维护者认为安装软件包即"同意",那也仅是隐含的)。因此,此类事情可能无法合法地在欧盟分发,除非以某种方式显示同意屏幕。
我推测这是维护者的无心之过,但在证明外部数据处理合理时,除了道德义务外,从该视角审视也很重要。
GDPR violation
2025年8月12日 14:28 UTC (周二) | Wol (订阅者, #4433) | [链接]
(即使维护者认为安装软件包即"同意",那也仅是隐含的)
且此类同意必须由数据主体给出,而非数据处理者,因此在此特定示例中,同意可能甚至不可能…
版权 © 2025, Eklektix, Inc.
评论和公共帖子由其创作者版权所有。
Linux是Linus Torvalds的注册商标。