所谓“高危”的 PHP 反序列化到 RCE 漏洞

在 2026,我不禁要问:php 语言真的如中文互联网上所说的这样不堪吗?

不幸的是,完成这样的调研需要深入社交媒体的言论中。大部分情况下这使我生理性反胃,恶心,呕吐;甚至要过几天才能缓过来这样的精神攻击。因此这篇文字搁置了很久很久。准确的说是从 3 月份到现在,我都很难在这个主题上下笔。

然而一些所谓的“安全专家”和所谓的“漏洞研究院”简直“亡我之心不死”。其在中文互联网上的言论实在过于愚蠢。而由于互联网的本性,作为一个对网络安全感兴趣的人,一些质量不尽如人意的言论总是能到我耳朵里。

我想说:大多数人都是没有自己的观点的。他们并不知道 php 语言为什么不安全,仅是人云亦云地传声。而源头的蠢人,还不知道自己的愚蠢。

大家应该有听说 php 语言最近出了一个可以直接利用的 UAF 漏洞,通过构造恶意的反序列化内容加后续利用可以实现 RCE。我们可以利用它全版本来绕过 disable_functions 云云。

媒体把它吹上了天。外加这个漏洞又是由 AI+skills 发现的(mad-bugs)因此 AI 末日论者和反对 AI 的人都非常喜欢这个漏洞。一方面可以证明 AI 的强大,另一方面可以证明人类编写的 skill 的作用。

那么好,我有几个问题,希望专家们可以回答:

  • 以控制反序列化函数的输入为入口最终实现 RCE 真的是漏洞吗?python 的 pickle 反序列化可以直接 RCE,甚至不需要后续利用。因此我在这里郑重要求 python software foundation 给 pickle 反序列化导致的 RCE 分配 CVE 并修复。
  • 反序列化函数在 exploit 中仅是一部分。一些专家的发言搞得好像只要控制了反序列化的输入,后续不需要做任何操作就能 RCE,难道不是简直令人忍俊不禁吗?
  • php 里有相当多已知的 UAF。每一个都可以用来绕过 disable_functions。你们有打开过 php 的 issue 列表看过吗?还是说各位的研究能力仅限于知乎和微信公众号?我给各位找到个例子,欢迎丢给 claude 写成 exp 之后再上网收获一批流量。(“天哪!php 8 出了第二个全版本绕过 disable_functions 的办法!!”)No thanks: https://github.com/php/php-src/issues/21499
  • disable_function 的绕过真的算漏洞吗?我找到了文档,不用谢:https://www.php.net/manual/en/ini.core.php#ini.disable-functions

Warning: This directive can be circumvented and should not be considered a sufficient security measure for shared hosting environments.

综上,这个漏洞就是最纯粹的狗屎。是的,狗屎。甚至还没有狗屎有价值。然后呢?“安全专家”们就依靠这个典型开始大肆宣扬所谓 php 末日论。痛斥核心开发者的不作为,云云。

当然,我给专家们带来了一个好消息:由于我们维护者共有 0 个人在意这个所谓的漏洞(我其实是在意的)所以它在 php 8.6(至少在小于 alpha2 的版本)也是可以用的。Enjoy 吧。