PHP2Shell漏洞:全球超六成项目受影响,宝塔面板紧急加班三天
21世纪经济报道记者肖潇 在凯瑟琳·毕格罗执导的惊悚片《炸药屋》中,一枚来源不明的洲际导弹飞向美国,留给政府的响应时间只有 18 分钟。 白宫战情室、军方指挥中心和总统办公室相继进入紧急状态。倒计时不断逼近,但没有人知道导弹来自哪里、能否拦截,以及要不要做出摧毁数亿人生活的决定。 某种程度上,网络安全行业正...
21世纪经济报道记者肖潇
凯瑟琳·毕格罗执导的惊悚片《炸药屋》里有这样一幕:一枚来源不明的洲际导弹朝美国飞来,政府只剩 18 分钟作出响应。
白宫战情室、军方指挥中心和总统办公室接连进入紧急状态。倒计时一点点逼近,可导弹从哪来、能不能拦住、要不要下决心摧毁数亿人的生活,没人知道答案。
网络安全行业眼下遭遇的,在某种程度上就是一场类似的“袭击”。
10月21日,全球出现一波网站关闭潮。德国学校系统临时下线,维基百科关停,任天堂进入维护,连寿司郎小程序也暂时下线。中国、美国、日本等国家的安全主管机构发出警告:使用PHP的网站应尽快更新安全补丁,没法及时修复的,应考虑暂时关闭服务。
这件事被称为“近年影响力最大的一场安全事件”,根子在于PHP存在两个严重安全漏洞。PHP是全球最常用的编程语言之一,黑客向运行PHP的网站发送恶意请求,就可能拿到服务器的最高控制权。
面板服务商宝塔面板告诉21世纪经济报道记者,其客户群里超过60%的国内项目都用到了PHP,而且这次漏洞是罕见的“全版本通杀”,十几年来所有主流版本都覆盖在内。他们成立的紧急小组接力工作了三天,客服工单量翻了三倍以上。
在资深安全研究员陈业炫看来,这种量级的漏洞以往好些年都未必能碰上一个。他的理由是,即便是互联网基础组件出的严重问题,通常也得凑齐不少利用条件才成立。这回不一样,限制少、权限高,攻击者下手时几乎没什么顾忌。
陈业炫的担心不止于PHP这一件事。按他的说法,过去三五年才遇得上的顶级漏洞,如今几天就能冒出一个,库里存的都是“顶级军火”,人人像高级黑客。PHP漏洞只是“黑色十月”投下的阴影之一。今年安全问题的集中爆发,背后是AI正在改写攻防两端的局面。
今年AI的编程能力有了关键突破,网络攻防能力随之涌现,OpenAI将此报告为“近年最重要的安全问题”。好比一枚突如其来的导弹,互联网在前沿大模型面前有多脆弱,我们很快就要见识到。
洛克刚刷到PHP漏洞消息时,以为又是那种把“小漏洞说成大新闻”的传言,直到全球网站关闭潮的消息刷屏,他才意识到事情没那么简单。
洛克把公司业务盘了一遍——这家广东贸易公司的服务器上跑着6个项目,进销存、无人超市、商城系统,全是基于PHP语言开发的。他赶紧给老板发消息:“我们先把服务器关了。”
上海一家智能家电公司IT部门的清风,这段时间也在盘算同类的事。这家公司的客服系统、内部论坛以及物联网业务后台,全都跑在PHP上。最早的那批系统是十五六年前开发的,之后基本没怎么动过。
PHP是20世纪90年代的产物,年纪确实不小了。Java、Go等语言被越来越多的新互联网项目选中,外界一度认为PHP已经不在主流之列。可多项统计给出的数字是,全球约70%的网站仍靠PHP支撑。国内外大量电商、内容社区、客户管理系统和公共机构,至今仍把PHP当作自己的数字地基。
10月20日晚,PHP官方团队放出一份少见的安全预警。团队称发现了两个评级9.2分的严重漏洞,补丁定在第二天晚上发布,并提醒所有 PHP 用户即刻着手准备。
9.2分在通用漏洞评分系统中属于最高一档,含义是极度危险,服务必须马上停掉抢修。这两个漏洞一个出在PHP的内存管理上,一个出在错误处理机制里,几乎所有请求都会碰到。换句话说,网站只要对外提供访问,攻击者就能从入口一路拿到服务器控制权(Shell),PHP2Shell也因此成了它们的统称。
清风打了个比方:不少安全漏洞并不致命,钥匙交到小偷手里,门里还有反锁挡着;PHP2Shell则等于把整扇大门卸了下来。他所在公司的客服系统日常接收投诉和维修订单,里面存着十几万用户的个人信息。攻击者一旦提权成功,敏感数据可以随意取走,资产也能被转移,甚至还能顺着服务器往其他网站渗透。
宝塔面板负责人温振泽对去年那场同样9.2分的Nginx严重漏洞印象很深,但那次的杀伤力跟这回不在一个量级。安全漏洞一般不会波及所有版本,PHP这次却把过去十几年的主流版本全包了进去。宝塔面板为Linux和Windows服务器提供面板服务,国内安装量超过2000万,PHP使用比例超过60%。温振泽的原话是:“用户基数大到夸张,对我们的冲击会非常大。”
公司上午启动了应急方案,大约20名同事进入紧急小组,横跨客服、运营、研发和安全等部门,白天一波人先休息,晚上再回来加班。
后来的情况印证了先前的判断。当晚更新一上线,大批客户同时开始下载PHP补丁包,带宽扩了一倍,一周过后依旧是满负荷。政企客户的微信消息接连不断,客服工单量涨到原来的三倍以上。
将近十小时的时间里,所有人能做的事只有等待。
10月21日白天,修复版本还没发出来,漏洞细节已经在技术论坛上传开了。清风的公司服务器随即出现异常:网站平日访问量大约3000~10000次,当天冲到7万次。他一面拦截异常流量,一面盯着电脑等更新。
北京时间晚上8点,官方补丁上线。PHP核心开发者写道,漏洞唯一解决方案就是升级补丁,因此“强烈建议所有用户立即更新”。
抢修快不快,要看PHP版本的新旧。版本较新的,升级并不费劲。清风公司的项目跑在PHP 8上,打补丁半小时就完成了,剩下近五个小时都用在十几台服务器上——排查有没有漏掉的攻击痕迹,再测一遍稳定性。
0:33,洛克才打完卡走人。他对配置文件算不上熟,升级时一度手忙脚乱。所幸公司项目同样跑在较新的PHP 8上,整个过程两个小时就收了尾。他说,要是还停在PHP 7甚至PHP 5,真不知道该怎么弄。
这份担心并非多余。最难办的恰恰是老版本。官方这次放出的补丁只覆盖PHP 8.2~8.5,可大批网站还停留在年久失修、早已停止维护的版本上,这些站点连“对号升级”的路都没有。
荷兰网络安全公司Modat的统计显示,眼下用得最多的版本是PHP 7.4,它在2022年就停止了维护;全球正在运行的PHP服务里,79%用的都是不再更新的版本。温振泽说,这些老版本官方已经不维护了,但客户不能不管。活儿落到了中下游的面板厂商和云厂商身上,官方补丁之外的事得由他们接过来。
宝塔面板这边是一场72小时的连续抢修:头天晚上同步官方补丁,团队一直干到凌晨三点;第二天接着指导用户更新;第三天开始编译官方没覆盖的旧版本补丁,一位熟悉PHP底层代码的同事整整花了一天做适配。
为什么还有那么多互联网服务跑着古早版本?
几位从业者给出的答案里,技术迁移成本太高是核心一条。PHP开发周期短、效率高、上手快,早期互联网开发几乎都选它。可后续维护要砸大量投入,更新不光动底层代码,还得兼容数据库和其他业务模块,一个网站覆盖几千上万个节点,一次更新可能烧掉几十万乃至上百万元。
外包开发的习惯也让维护变难。不少公司的系统最初是外包团队搭的,项目交付后开发团队就散了,剩下的运维人员连能更新的人都找不到。于是很多政企网站只要还能跑,就一直用着老版本,“缝缝补补又三年”。
清风感慨,这么做的最大问题是补丁一层层叠下来,三五年后再想修问题几乎没戏,只能全部推倒重来。他还提到,相比欧洲和日本,国内这次大规模停摆的情况少一些,主要是因为国内大部分网站到2010年前后才建起来,基本一步步跟着互联网升级,这也可以算一种后发优势。
可后发优势挡不住风险。许多系统仍建在数十年前的技术基础之上,这会变成漏洞的放大器——AI日新月异,任何攻击在规模上都可能造成灾难性后果。
AI是这场危机里的一个关键变量。
安全公司Calif称,早在2004年,研究人员就发现了PHP内存机制中的远程执行漏洞,当时判断没有实际利用路径,修复代价又太高,权衡之后没有推进。
这类漏洞曾经自带一层特殊的安全性,研究员称之为security by exhaustion:人类黑客要花数周做枯燥的手动调试才可能成功,耐心和体力往往撑不到攻击完成。
现在AI把这层屏障打破了。根据
被AI改变的还有防御窗口期。被指提前曝光漏洞细节的Chainguard称,其AI早就独立发现了漏洞,只要让它“查找PHP中的恶意漏洞”就能找到;谷歌也表示,Gemini 4 Argon参与了漏洞发现过程。大模型谁都能用,这意味着所有漏洞都可能是零日漏洞(未经修补就直接暴露的漏洞)。
不过另一边,AI也壮大了对抗的力量。
受访的从业者都提到,这次从巡检、更新到测试稳定性,全过程都交给了AI,他们只负责下指令和验收,修复时间省下不少。
洛克所在公司的IT部门在2024年后经历过裁员,如今只剩他一个人。作为PHP程序员,他对运维并不在行,工作常态是一个人指挥、一个大模型执行。洛克说,也有人担心AI托管服务器,怕它执行危险命令,但他不怕。小公司必须在安全和提效之间二选一的话,他选提效。
清风所在公司情况差不多,IT部门只留了几位老员工,修复中挑大梁的是AI。这家实体行业公司连PHP 4.7的业务系统都用了好多年,几次找外包升级,对方都说干不了。今年年初,AI把公司系统统一升到了版本8,几千块钱成本、两周时间就把十几个网站全部升级,所以这回PHP漏洞修复才相对顺利。
宝塔面板从去年年初开始大面积用AI。温振泽称,这次PHP 5旧版本修复包的测试也是AI辅助完成的。以前测PHP 5版本,得手动连上十几台服务器一台台测,现在AI半小时内就能做完联调测试,一天干完了一周的活。
问题在于,AI给攻防两边带来的提升是一样大的吗?
资深安全研究员陈业炫说,防御侧当然也会用AI,只不过主要作用是降本增效,比如原来十个人干的活现在一个人就够。在他看来,AI只是提高了防御效率,没有从根本上改变能力。
陈业炫最担忧的是,如今AI让攻击者更快找到突破口,却未必能让防御者以同样速度补上所有漏洞。网络安全好比泳池放水和注水那道数学题,注水速度追不上放水速度,就是按下葫芦浮起瓢。
采访之前,陈业炫刚处理完朋友公司的一起安全事件。他最近观察到的状态是“全面沦陷”:“员工电脑被黑、工程师电脑被黑、服务器程序被投毒,补都补不过来。”
让他有压力的不只是漏洞数量多,还有危险程度高。一个安全漏洞的严重性通常取决于多项条件,比如系统是否启用特定功能模块,是否必须结合其他漏洞才能完成攻击链,而PHP2Shell这类漏洞几乎没有限制,属于“品相极好”的顶级漏洞。
“像这样级别的漏洞,今年出现得越来越频繁。”陈业炫说,过去三五年才可能撞上一回的事,如今三天就冒出来一次。
PHP2Shell曝光之后,一批基础设施服务商接连被曝出重大安全问题,涉及提供网站安全证书的印度公司eMudhra、PHP的替代方案Node.js、软件开发平台GitLab、云服务提供商Railway、编码代理平台OpenCode,以及全球最大加密货币交易所币安。外界因此把过去这一个月叫作“黑色十月”。
把数据摊开看,安全事件其实在年初就已经集中出现。CVE是全球通用的漏洞编号体系,官方数据库的记录显示,仅今年7月~9月登记的漏洞数量,就超过了2023年全年。新增漏洞还在以每天约400个的速度堆上来,不少组织在补丁更新上因此走得很慢。
温振泽的感受是,面板服务商过去只等上游发补丁、跟着同步更新就行;现在若还照老节奏应付漏洞,肯定要慢半拍。公司眼下最急的事,是更早找到攻击入口,抢在漏洞前面。
多份安全报告把这一变化和大模型能力的提升连在一起。4月Anthropic发布Mythos以后,全球监管机构和安全行业不断发出警告,OpenAI把这一趋势看成“近年来最具影响力的安全问题”之一。
陈业炫解释说,以前黑客要攻一个庞大的系统,得花大量时间把体系摸透,还得精通里面的技术特性,一个人要同时具备这么全面的本事,难度非常高。AI则几乎没有编程知识上的门槛,体力也无限,那些利用条件复杂、藏得深、长期没被发现的高危漏洞,就更容易被挖出来。
说不准的是,AI到底会把网络安全带向什么样的局面?
清风不赞成过度悲观。“扫出来的漏洞越来越多,不等于每一次都会造成毁灭性后果。运维人员同样在大规模用AI做辅助防御,哪怕没有安全经验的人,现在也能很快处理。”干了三十多年安全的清风说,他从没见过攻击者能把防御者彻底压下去的局面,矛变利了,盾也会更坚固。
陈业炫的判断正相反。“我从业二十年,还是第一次见到今天的场面。”他摇头说。网络攻防本就是一场不对称的较量,发射一枚导弹相对容易,拦截导弹却难得多。过去攻防能平衡,只是因为攻击成本很高;现在成本大幅下降,攻击者找到一个突破口就行,防御者却要挡住所有攻击方法——只要有一个短板被击穿,先前所有防护工作都会失去意义。
攻击压力一直在涨,陈业炫还没找到有效的应对办法。“我们管现在的策略叫地堡模式,先躲起来,尽量把自己掩护好。”
产业界也在就安全问题激烈辩论,AI公司探索的一种方案,是把安全能力从通用大模型里剥离出去。
Anthropic和OpenAI今年都启动了面向网络安全的专项计划。前者的“玻璃之翼”项目提前向基础系统和公共机构开放模型能力,先把防火墙码高;后者的“修复星球”项目则想用AI加快漏洞修复,为防御方争取时间。
国内模型公司也开始有类似动作。月之暗面今年10月表示,训练阶段主动剥离了网络攻击相关数据,只保留通用编程能力;近期还有开发者在DeepSeek官网前端代码里发现,公司可能在秘密测试DeepSeek Flash Cyber网络安全专用API。
陈业炫希望眼下的状态别持续太久。要往乐观处想,只能寄望于现在是一段集中爆发期——过去人类经验覆盖不到的漏洞被AI集中挖出,等漏洞“库存”慢慢消耗掉,攻防双方或许会重新回到相对均衡的状态。
最终影响会有多大,没人说得清。知名密码学家马修·格林最近发帖写道:“我们现在正处于电影里那种把所有能扔的东西都扔到丧尸面前、希望拖住它们速度的阶段。很多人发现整个互联网像干燥的引火物,唯一阻止它燃烧的可能性,是别让青少年找到火柴。”