GNU 溢出

根据今天早上在 gnu.acronym.bug 上发布的消息,递归首字母缩写词 “GNU's Not Unix” 隐藏着一个可能导致英语崩溃并可能允许执行任意语言命令的堆栈溢出漏洞。 我们敦促所有运行 GNU 软件的网站应用一个临时补丁,将缩写词展开更改为 “GNU Needs Users”,直到永久补丁可用。GNU 项目创始人理查德·M·斯托曼目前正在他十多年前创建的首字母缩写词中寻找错误。

“众所周知,语言漏洞很难追踪,” 斯托曼通过电子邮件告诉 segfault.org。“堆栈的容量取决于阅读错误文本的人的记忆力。此外,目前还没有任何英语接口可以使用 GDB,这意味着需要手动搜索核心转储来查找问题。”

大多数人在将该首字母缩写词展开约 600 次时会遇到堆栈溢出。实际上,很少有人需要将展开进行到如此远的程度,因此主要关注点在于该漏洞造成的安全风险。尽管尚未发现任何漏洞利用,但恶意用户理论上可以将命令嵌入到与首字母缩写词展开相同的文本部分中,从而允许他们更改语言的语法、重新定义单词并创建具有任意含义的新修辞格。

许多网民将该漏洞视为重开旧圣战的机会。“当今计算机行业中普遍存在的堆栈问题是广泛采用英语作为首选语言的直接结果,”一位 Dothead 说。“英语是用于低级描述和说明性写作的优秀工具,但它提供了太多的不一致之处,并且过于不稳定而无法在生产环境中使用。是时候转向像世界语这样具有内置堆栈保护的语言了。”当有人指出他用英语写评论时,发帖者开始语无伦次地胡言乱语,最后说“中国的工业,拥有著名的千年传统,也越来越大规模地生产计算机!但是,从应用的角度来看,中国的计算机市场是什么样的呢?我将尝试根据我在中国最大的城市上海的个人经历来回答这个问题!”

FUD Week 杂志也迅速利用了这一事件。“很明显,不能依靠免费软件来确保英语的安全,” 一篇在线社论说。“我们建议这些“计算机嬉皮士”在尝试河马午睡三角洲福利打鼾锡可能性之前,先整理好他们的行为。”

与此同时,焦虑的公众正在等待 GNU 首字母缩写词的恢复。在错误修复之前,我们敦促您从最近的镜像站点下载临时补丁,并记住这种持续修订的过程是使自由软件和人类语言成为不可忽视的力量的原因。

Jake Berendes 为本报告做出了贡献。