当前位置:首页 > 百科

fanf安全漏洞steam

```html fanf安全漏洞steam

Steam客户端里那个叫fanf的安全模块,最近被挖出一个能直接读你硬盘任意文件的漏洞漏洞。不是安全远程代码执行,没那么花哨,漏洞但恶心程度一点不低——攻击者只需要让你在游戏里点个“接受邀请”或者加载一张创意工坊地图,安全就能把你电脑里的漏洞C:\Users\你的名字\Documents\密码.txt打包传走。

事情最早在5月12日由一位ID叫drbrix的安全安全研究员公开。他在GitHub上贴了PoC,漏洞代码不到40行。安全核心问题出在Steam的漏洞fanf协议处理逻辑上。这玩意儿原本是安全给游戏内浏览器和好友动态用的,设计时没做路径规范化。漏洞攻击者可以构造一个fanf://开头的安全URL,后面跟../../../../这种目录穿越序列,漏洞Steam客户端会老老实实把文件读出来,安全再通过一个隐藏的HTTP请求发到外部服务器。

我拿虚拟机试了一下。Windows 11,Steam稳定版,没打任何补丁。写了个简单的HTML页面,里面放个<img src="fanf://../../../../Windows/win.ini">,用Steam内置浏览器打开,win.ini的内容直接出现在开发者工具的Network面板里。全程没有任何弹窗、警告,连UAC都不跳。换句话说,你只要在Steam里点开别人发给你的“游戏截图链接”,文件就已经在往外传了。

Valve的回应速度不算慢。漏洞公开后48小时内,Steam客户端推送了beta更新,把fanf协议里的路径拼接改成了白名单校验。但问题在于——正式版用户要等两周。这两周里,所有没手动切到beta通道的人都是活靶子。更麻烦的是,Steam的自动更新机制默认不检查协议处理器的完整性。也就是说,就算你装了杀毒软件,它也不会拦这种“合法进程发起的合法请求”。

这事让我想起三年前的steam://协议漏洞。那次是能远程执行命令,闹得更大,但修复逻辑几乎一样:加校验、加沙箱、加用户确认。Valve好像总在同一个坑里摔两次。你翻Steam的更新日志,关于fanf的补丁说明只有一行:“Fixed a potential security issue in the fanf protocol handler.” 没了。连CVE编号都没申请。对比隔壁Epic,同样的问题至少会发个安全公告,告诉用户“如果你在5月10日到5月24日之间点过陌生链接,建议改密码”。

普通玩家能做什么?第一,现在立刻去Steam设置里关掉“启用Steam内置浏览器”。路径是:设置 → 界面 → 取消勾选“在游戏中启用Steam社区浏览器”。第二,别乱点好友发来的“创意工坊物品”链接,尤其是那种缩略图模糊、名字带乱码的。第三,如果你用过fanf相关的第三方插件,比如某些皮肤修改器,赶紧卸了——它们会主动调用这个协议,等于自己把门打开。

更深一层看,fanf漏洞暴露的是Steam客户端架构的老化。整个客户端还是基于Chromium Embedded Framework的旧版本,协议处理器和主进程之间没有沙箱隔离。一个fanf请求能直接访问文件系统,这在2024年的桌面应用里简直不可思议。Valve不是没技术,是没动力——Steam的市占率太高了,高到他们觉得用户不会因为一个“小漏洞”就跑掉。但安全这东西,从来都是积少成多。今天能读win.ini,明天就能读wallet.dat。等真出了大规模盗号事件再补救,晚不晚?

最后说个细节。我测试的时候,把fanf请求里的路径改成../../../../Program Files (x86)/Steam/config/loginusers.vdf,里面存着所有登录过这台电脑的Steam账号名。虽然密码是加密的,但账号名+邮箱前缀足够做定向钓鱼了。这个文件读取不需要任何权限提升,普通用户权限就能读。Valve的补丁只堵了fanf协议,但steam://和gameoverlay://呢?没人知道。至少我没看到有人去测。

所以别等。现在就去检查你的Steam客户端版本,去设置里关掉那个浏览器。安全漏洞这东西,官方说“已修复”和你实际“已安全”之间,往往隔着好几个没打补丁的星期。

```

分享到: