10月6日WordPress发布了7.1.3,一个安全与维护版本,包含七项安全修复和四项缺陷修复。这是7.1分支在19天里的第三个安全版本,前两个是9月17日的7.1.1和9月22日的7.1.2。对站长来说这类更新通知一年要收到十几次,多数人扫一眼就划过去了,但这一版的致谢名单值得停一下。十九天三个安全版本,这个节奏本身也在说明事情。7.1这个分支上被集中发现的漏洞不少,对站长来说频繁的小版本其实是好事,说明问题在被持续解决,而不是攒着一起爆。真正该警惕的是那种半年不出补丁、一出就是大版本的项目。
看官方公告里的报告方:评论管理页的存储型跨站脚本,由Trail of Bits与OpenAI合作报告;WP_Http::make_absolute_url()里的拒绝服务问题、WXR导出里的二次SQL注入、以及作者角色可以把文章设为置顶这个权限缺陷,三项都署名Anthropic;私有与未发布文章评论的未授权泄露,由Patchstack的Ananda Dhakal报告;Imgur嵌入的跨站脚本来自Zhengyu Liu等三人;动态钩子可伪造参数由WordPress安全团队的Alex Concha报告。
七项里有四项挂在不同机构下的AI相关名字上。这件事的意义不在于“AI变厉害了”,而在于模型辅助的代码审计已经走完了从研究演示到真实披露流程的那一段。以前这类工具的产出多停在论文和演示里,现在它出现在一个装机量以千万计的项目的安全致谢名单上,说明有人真的把它的输出当线索去验证、去复现、去提交了。这个流程里最花时间的其实不是“找到”,是“确认”。模型能在一大段代码里指出可疑的地方,但那个地方到底能不能被利用、需要什么前置条件、影响哪些版本,还是得人来跑一遍。找到线索和确认漏洞是两个不同的工作量级,前者可以批量,后者不行。
第二层意义是披露流程本身没有变。这些报告仍然走厂商安全团队,仍然在修复版本里一起公布,仍然给出致谢名单。也就是说,对你这个站长而言,可依据的东西还是“修复了哪些、影响哪些版本”,而不是报告方的头衔。把注意力放在后者上,容易被“AI找漏洞”这个说法带偏,忘了自己该做的事其实只有一件:升级。这也是为什么这类新闻读起来容易跑偏。标题写“AI发现了漏洞”,读者的注意力就落在AI上;实际该落在“我的版本是多少”上。前者是新奇,后者是行动。花十分钟升级,比花十分钟讨论AI会不会取代安全研究员有用。
第三层是攻击面的位置。这几项分别落在评论管理页、导出处理、HTTP请求处理和角色权限上,共同点是都在后台与数据流转的交界处,而不是公开页面的渲染层。这和内容系统的真实使用方式是对得上的:越靠后台的入口,代码路径越长,被逐行审阅的机会越少,问题也就越容易在那里待着。这个规律对做站的人也有用:如果你自己在写插件或者改主题,最该小心的是处理后台表单、文件导出、角色判断这几类地方。它们的共同点是要同时处理“谁在操作”和“操作的是什么数据”,两个变量一交叉,权限边界就容易出错。
两条跟评论相关的修复要重点看。一条是待审评论触发的存储型跨站脚本:陌生人可以提交一条待审评论,里面塞一个构造过的链接,审核的人在后台点它,脚本就在管理员的浏览器里跑起来了。另一条是私有与未发布文章的评论,未登录的访客通过评论feed就能读到——如果你的站有草稿箱里存着讨论、或者有内部文章开了评论,这条要优先处理。实操上还有个建议:升级完之后去后台看一眼待审评论队列,把里面带链接的、格式奇怪的先清掉。已经存在的恶意评论不会因为升级就自动消失,它只是不再能触发脚本了。攒着几百条不审,等于把引信留在那儿。
Imgur那条有个尾巴。这一版把Imgur从受信任的oEmbed提供方名单里移除了,因为受信提供方返回的HTML会跳过不可信提供方所受的沙箱处理。但已经缓存的oEmbed记录不会自动清掉,也就是说升级完,那些旧的嵌入内容可能还在按老路子渲染。要彻底干净,得手动清一遍oEmbed缓存,或者至少确认自己没有嵌过可疑的Imgur内容。
四项缺陷修复里有一条比安全修复更直接影响日常操作:图片上传会致命错误。7.0引入的代码在上传时调用wp_get_image_alttext()去读XMP里的替代文本,这个函数实例化了DOMDocument和DOMXPath,但没有先检查主机有没有装PHP的ext-dom扩展。没装的主机上,上传图片直接白屏报错,连提示都没有。
这条bug有个很说明问题的细节:官方工单把它标成critical,但一位核心提交者指出,这段代码在线上跑了134天才等到第一份报告。也就是说绝大多数主机环境都装了ext-dom,问题只出现在少数精简环境里——自己编译PHP的、用极简容器镜像的、某些轻量面板的默认配置。如果你正好是这类环境,这条比七个安全漏洞更值得先看。判断自己是不是这类环境有个快办法:用一个探针页面输出phpinfo,搜一下dom这个关键词;或者直接命令行跑php -m,看列表里有没有dom。有就没事,没有就先别传图,等升完级再传。这个检查两分钟能做完,比传图传失败之后到处找原因快。
至于怎么处理,开自动后台更新的站大概率已经升上去了,去“关于”页面看一眼版本号就能确认。手动管的站,这次别拖:评论相关的两处都是未登录用户就能触发的入口,早一天升级少一天暴露。升完记得清页面缓存、对象缓存和CDN缓存,不然前台跑的可能还是旧文件。
申请创业报道,分享创业好点子。点击此处,共同探讨创业新机遇!
