【漏洞大逃杀】从昨夜PHP RCE到30余款组件安全事件复盘

本文转载自微信公众号「星宇Sec」

原文标题:【漏洞大逃杀】从昨夜PHP RCE到30余款组件安全事件复盘

内容版权归原作者及原公众号所有,转载仅为传播资讯;若有侵权请联系管理员删除。

2026年10月21日,多个主流技术栈在短时间内集中发布安全公告。PHP与Node.js出现需要立即处置的运行时漏洞,eMudhra的弱私钥问题触发了跨浏览器、操作系统、语言运行时的撤信更新,LiteLLM1.107.0则被植入凭据窃取器和远程代码加载器。

社交平台随后混入了大量历史CVE,其中不少问题早在一月至九月就已披露,但仍被很多人误认为昨天集中爆出。

信息截止:2026年10月22日。本文依据厂商公告、CVE记录、项目安全公告和公开技术分析整理。

总览

部件
核心问题
时间属性
PHP
两个CVSS9.2未认证RCE,另有2026年5月披露的整数溢出与PHP-FPMXSS
10月21日新事件
Node.js
22/24/26三条版本线共10个CVE,Brotli越界写可导致RCE
10月21日新事件
LiteLLM
1.107.0供应链投毒,安装与启动阶段均可触发恶意载荷
10月21日新事件
eMudhra
8个中间CA弱私钥,浏览器与语言运行时集中撤信
10月17日至20日持续事件
Go
撤信、Range头DoS、模块代理校验绕过与模板XSS
新修复与历史CVE并存
JavaSE与JavaFX
Oracle十月CPU,CVE-2026-43660存在CVE归属冲突
10月20日月度更新
MySQL
98个补丁、29个未认证远程问题及InnoDB拒绝服务
10月20日月度更新
SpringFramework
XsltViewSSRF/RCE、URI解析SSRF、SSE流损坏与反射型XSS
历史CVE
ApacheTomcat
加密拦截器绕过、JNDIRealm认证绕过与TLS1.3连接失败
历史与近期CVE
Jackson
泛型参数与数组子类型导致多态类型允许列表绕过
历史CVE
Log4j
非有限浮点值使MapMessage输出非法JSON
历史CVE
snappy-java
攻击者声明超大解压长度导致JVM内存耗尽
2026年10月披露
PyTorch
恶意.pth检查点可导致内存破坏与代码执行
历史CVE
MLflow
未认证Webhook测试接口SSRF,已进入CISA的KEV目录
历史CVE
Ray
浏览器DNS重绑定可触发RCE,已进入CISA的KEV目录
历史CVE
pip
console_scripts

与gui_scripts路径可写出安装目录
历史CVE
CPython
email.BytesGenerator

邮件头注入
历史CVE
virtualenv
prompt文本进入bash激活提示符后可执行
10月20日披露
RailsActiveStorage
恶意图片上传可读取文件与密钥,并可能进一步RCE
历史CVE
ruby-jwt
空密钥或nil密钥可导致HMAC令牌伪造
历史CVE
ERB
Marshal.load()

结合未受保护的ERB方法形成代码执行链
历史CVE
Rubyresolv与net-imap
DNS内存耗尽、主机名校验与STARTTLS剥离
历史CVE
.NET与Marten
Blazor调试代理代码注入及7月至9月历史批次
新更新与历史CVE
Rust
eMudhra撤信、Cargo凭据隔离与tar-rs路径问题
新公告与历史CVE
NGINX
五个缓冲区、HTTP/3和TLS会话相关CVE
10月14日更新
Traefik
mTLS失效开放、fastProxy竞争与跨命名空间授权
10月15日更新
Vyper
常量替换、空合约部署与尚无正式修复的分支
CVE记录10月21日
Perl
XS::Parse::Infix

特制输入拒绝服务
2026年9月披露,10月20日修复
Flutter与Dart
pub缓存符号链接ZipSlip
历史CVE

目录

事件时间线置于正文开篇,不占用组件编号。

顺序
组件
网传被提到的漏洞
1
PHP
php2shell两个未认证RCE;CVE-2026-7568整数溢出;CVE-2026-6735PHP-FPMXSS
2
Node.js
22/24/26三线十个CVE;Brotli越界写、DNSNUL截断、TLS主机名校验绕过等
3
LiteLLM
1.107.0供应链投毒;CVE-2026-42208SQL注入;CVE-2026-42271命令执行
4
eMudhra
8个中间CA弱私钥;Go、Rust、NSS、certifi及浏览器集中撤信
5
Go
CVE-2026-111943

撤信、78667Range头DoS、42501校验和绕过、39826模板XSS
6
JavaSE与JavaFX
Oracle十月CPU;CVE-2026-101516及存在来源冲突的43660
7
MySQL
98个十月补丁、29个未认证远程问题及InnoDBCVE-2026-101621
8
SpringFramework
XsltViewSSRF/RCE、UriComponentsBuilderSSRF、SSE流损坏、EscapedErrorsXSS
9
ApacheTomcat
CVE-2026-34486

加密拦截器绕过、101296认证绕过、93446TLS连接失败
10
Jackson
CVE-2026-54512/54513

泛型与数组子类型允许列表绕过
11
Log4j
CVE-2026-49844

非有限浮点导致非法JSON
12
snappy-java
CVE-2026-108106

解压长度导致JVM内存耗尽
13
Python与AI框架
PyTorch、MLflow、Ray、pip、CPython、virtualenv及aiohttp/filelock线索
14
Ruby与Rails
ActiveStorage、ruby-jwt、ERB、resolv与net-imap
15
.NET与Marten
Blazor调试代理RCE及7月至9月历史补丁
16
Rust
eMudhra撤信、Cargo稀疏注册表与符号链接、tar-rs解析和权限问题
17
NGINX
alias与rewrite、变量表达式、AIO与SSI、HTTP/3、TLS会话五项CVE
18
Traefik
IngressNGINXmTLS失效开放、fastProxy数据竞争、跨命名空间授权绕过
19
Vyper
常量替换、code_offset回绕及尚无正式修复的0.4.1至0.5.0b1分支
20
Perl
XS::Parse::Infix

特制输入拒绝服务
21
Flutter与Dart
pub缓存符号链接ZipSlip
22
处置优先级
综合补丁顺序与凭据轮换
23
结论
风险归纳

事件时间线:九天窗口,不是“一夜之间”

本轮讨论横跨10月13日至21日。下面先列出近期事件,再列更早披露但在此期间被重新提到的CVE。

图片[1]-【漏洞大逃杀】从昨夜PHP RCE到30余款组件安全事件复盘-阻击者联盟
01-night-timeline

图1 本轮漏洞事件时间线。

本轮集中事件

日期
事件
说明
10月21日
PHP与Node.js安全更新;LiteLLM1.107.0投毒;VyperCVE记录
本轮主要新增事件
10月20日
Oracle十月CPU;virtualenv、RustSec及UbuntuPerl补丁
常态化补丁与新CVE记录
10月19日
Go1.26.10/1.27.3;Apple完成eMudhra撤信
eMudhra关联修复
10月17日
eMudhra问题上报;Chrome与Firefox紧急撤信
信任链危机开始扩散
10月15日
Traefik3.7.15
Ingress安全修复
10月14日
NGINX五项CVE
网关层集中修复
10月13日
ASP.NETCoreCVE-2026-102870
微软十月更新

更早披露但被本轮引用

日期
漏洞或事件
说明
2026年10月
snappy-javaCVE-2026-108106;GoCVE-2026-78667
JVM解压DoS与Range头CPU耗尽
2026年9月
PerlCVE-2026-85644;MartenCVE-2026-75513
拒绝服务、SQL注入与租户绕过
2026年8月
Spring三组CVE;RubyresolvCVE-2026-80212/80213;MLflow与Ray进入KEV
Web框架、DNS与在野利用
2026年7月
RailsActiveStorage、Log4j、ruby-jwt及.NET7月批次
多个历史漏洞
2026年6月
pip、Spring41854、Jackson54512/54513
依赖与反序列化问题
2026年5月
Go两个CVE、LiteLLM两个CVE、Rubynet-imap、PHP旧CVE、RustCargo
本轮被重新汇总
2026年2月至4月
Tomcat34486、ERB、Rusttar-rs、Flutter/Dart
历史组件问题
2026年1月
CPython与PyTorch
邮件头注入与恶意模型检查点

一、PHP:两个CVSS9.2的未认证RCE

PHP在10月21日发布8.5.12、8.4.27、8.3.36和8.2.35,修复两个CVSS4.0评分均为9.2的关键漏洞[1]:

图片[2]-【漏洞大逃杀】从昨夜PHP RCE到30余款组件安全事件复盘-阻击者联盟
02-php2shell-tenable

图2 php2shell。

CVE
技术问题
风险
CVE-2026-109618
OOM异常通过longjmp()退出上下文,请求内存尚未完全初始化,清理路径随后处理无效状态
可导致远程代码执行
CVE-2026-109619
请求级全局状态在内存释放后残留,worker处理后续请求时再次访问陈旧指针
可导致远程代码执行

受影响范围覆盖8.2至8.5分支,凡处理Web请求的PHP部署均应视为暴露,包括PHP-FPM、mod_php、php-cgi、FrankenPHP和LiteSpeed。官方特别说明,mod_php风险最高,攻击可以在业务代码运行前触发,应用层的登录校验和框架中间件无法拦截。PHP8.1及更早版本已不再获得项目的常规安全更新,长期方案仍是迁移到受支持分支[1]。

目前没有可替代补丁的完整缓解方案。无法立即升级时,只能按官方建议降低部分已验证攻击路径的可触发性:

memory_limit=-1
post_max_size=8M
session.upload_progress.enabled=0
fatal_error_backtraces=0

其中post_max_size在上传场景可调整到32M,fatal_error_backtraces=0适用于PHP8.5,同时应限制multipart字段和分段数量,并使用容器或cgroup限制整体资源。所有调整必须在PHP-FPM池或Apache配置层生效,并重启全部worker。上述配置只能阻断已确认路径,不能替代升级[1]。

截至10月22日,两个PHP漏洞尚未进入CISA的KEV目录,也没有官方确认的大规模成功利用[11]。公开报告提到的早期扫描和攻击尝试,不能直接等同于已经形成稳定在野利用。

参考

公众号:棉花糖fansPHP的RCE目前有点难实战

PHP另有两条在2026年5月披露的历史CVE:

  • CVE-2026-7568:超长字符串输入导致metaphone()发生有符号整数溢出,可造成越界读取和进程崩溃。
  • CVE-2026-6735:PHP-FPM状态页未正确清理用户输入,可形成XSS。

两项均修复于8.2.31、8.3.31、8.4.21和8.5.6。它们不属于10月21日的新RCE事件。

二、Node.js:10个CVE,三条版本线同时更新

Node.js在10月21日发布22.23.4、24.22.1和26.12.1,共修复10个CVE[2]。

图片[3]-【漏洞大逃杀】从昨夜PHP RCE到30余款组件安全事件复盘-阻击者联盟
03-node-advisory

图3 Node.js安全公告。

CVE
严重度
问题
影响分支
CVE-2026-111497
High
Brotli解码器越界写,受影响调用路径可导致RCE
22/24/26
CVE-2026-105482
High
dns.resolve()

截断含NUL字符的域名
22/24/26
CVE-2026-105483
High
IP使用全角数字时TLS主机名校验绕过
24/26
CVE-2026-106069
High
主机被松散解析为IP时TLS主机名校验绕过
22/24/26
CVE-2026-105481
Medium
Keep-alive连接可能发送请求发出前写入的响应
22/24/26
CVE-2026-106072
Medium
非规范IPv4主机名校验不当,DNS SAN可认证IP端点
22/24/26
CVE-2026-106074
Medium
随机数熵缓存被写入startup snapshot或SEA,进程重复生成相同值
22/24/26
CVE-2026-106070
Low
ZIP头校验失败后ZipFile返回攻击者控制的前缀字节
26
CVE-2026-106071
Low
PermissionModel通配符radix查找造成文件系统过度授权
26
CVE-2026-106073
Low
fs.realpathSync

可绕过PermissionModel
22/24/26

其中CVE-2026-111497需要优先处理,但不应表述为“任意Node.jsHTTP服务发送一个Brotli请求就必然失陷”。官方确认的是Brotli解码器存在越界写并可能导致RCE,实际可利用性取决于应用是否将不可信输入送入受影响解码路径。

Node.js这次同时更新了c-ares、OpenSSL、SQLite、Undici和根证书。其中OpenSSL更新针对24/22分支,SQLite更新针对22分支;c-ares、Undici和根证书覆盖22/24/26三条版本线[2]。对已停止维护的Node.js版本,项目不会提供对应补丁,应迁移到仍在支持的版本线。

三、LiteLLM1.107.0:安装依赖就可能执行后门

10月21日,LiteLLM1.107.0供应链投毒事件曝光。PyPI上的7个wheel均包含三个额外文件[6]:

cook.pth
cook.py
sitecustomize.py

cook.pth只有import cook一行。Python在启动时处理.pth文件,sitecustomize.py也会被自动导入,因此受影响环境无需执行import litellm,恶意代码仍可能运行。这使排查、测试和修复本身也可能再次触发载荷。

图片[4]-【漏洞大逃杀】从昨夜PHP RCE到30余款组件安全事件复盘-阻击者联盟
04-socket-cover

图4 LiteLLM1.107.0恶意包告警。

恶意代码可收集AWS、Azure、GCP、Kubernetes、SSH、GPG、Git、npm、PyPI、浏览器、AI开发工具以及LiteLLM数据库中的凭据。数据经AES-256-CBC和RSA-4096加密后,被发送至仿冒域名litellm.dev。另一个组件会定期从GitHub死信箱读取域名,再下载Python代码并通过exec()执行。

需要特别区分两个事实:

  • GitHub上的v1.107.0Git标签本身没有载荷。
  • 恶意wheel和镜像来自标签之后的未标记提交,构建溯源指向仿冒仓库Berri-AI/litellm。

截至10月22日,PyPI、GHCR和DockerHub中的恶意标签均已删除,但发布入口如何被利用尚未完成调查。已经下载到本地缓存、CI缓存、私有镜像仓库或运行中容器里的历史产物不会随上游删除而消失。

已在可疑环境中运行过1.107.0的主机,应从可信产物重建,并轮换云平台、Kubernetes、SSH、数据库、CI/CD和模型供应商密钥。恢复时应固定litellm==1.106.2或此前经过验证的明确版本,不要在受感染虚拟环境里先运行pip或Python。

图片[5]-【漏洞大逃杀】从昨夜PHP RCE到30余款组件安全事件复盘-阻击者联盟
05-socket-evidence

图5 LiteLLM恶意包检测详情。

LiteLLM还有两条旧CVE需要与本次投毒事件分开处理:

  • CVE-2026-42208:1.81.16至1.83.6的APIKey校验存在SQL注入,未认证攻击者可读取或修改代理数据库,CVSS9.8。
  • CVE-2026-42271:1.74.2至1.83.6的MCP测试接口允许低权限认证用户启动任意子进程,CVSS8.8。

两项均修复于1.83.7,并先后在2026年5月和6月进入CISA的KEV目录[11][12]。

四、eMudhra:真正的问题不是TLS算法,而是信任锚

eMudhra事件不是“TLS加密被攻破”,而是中间CA的私钥生成过程出现严重缺陷。8个中间证书虽然标称使用P-384密钥,但密钥生成流程实际留下了极小的有效密钥空间,研究者可以通过公开证书快速恢复签名能力,不需要破解384位ECC[3][13]。

2026年10月17日,研究者使用8个私钥分别签署测试消息,并向Mozilla和Chrome根计划提交证据。Chrome在数小时内通过CRLSet阻断相关中间证书,Mozilla在当晚通过OneCRL完成阻断。披露数据记录eMudhra于10月18日撤销8个证书,eMudhra的文字声明则将撤销日记为10月19日;Apple在10月19日、Microsoft在10月20日完成相应撤信。8个证书中,6个用于TLS,2个用于代码签名[3][13]。

影响边界

这件事的风险很高,但不能写成“全球HTTPS瞬间变成明文”。

  • 根证书私钥没有泄露,受影响的是8个中间CA。
  • Chrome表示,在撤信前,CT日志中没有发现通过6个TLS中间证书签发的恶意站点证书。
  • eMudhra表示,8个中间CA没有签发终端证书,未发现数据泄露或基础设施失陷[13]。
  • 当前没有已知成功利用。风险主要落在不检查吊销状态、未更新根证书包的自定义客户端和物联网环境。
  • 对普通浏览器而言,CRLSet、OneCRL、系统根库更新和CertificateTransparency是三道独立防线。

真正的工程问题是:很多软件不共享系统信任库。Go使用标准库中的过滤逻辑,Rust的rustls-webpki和webpki-root-certs维护自己的根证书集合,Java可能使用独立的cacerts,Python可能使用certifi,容器镜像也可能打包自己的CA证书。因此同一次CA撤信,需要分别更新和重新构建。

五、Go

Go在本轮需要分别处理三组问题:

图片[6]-【漏洞大逃杀】从昨夜PHP RCE到30余款组件安全事件复盘-阻击者联盟
06-go-advisory

图6 Go安全公告。

CVE
时间
问题
修复
CVE-2026-111943
Go发布10月19日,CVE记录10月21日
crypto/x509

可能接受包含eMudhra失陷中间证书的链
1.26.10、1.27.3
CVE-2026-78667
2026年10月
net/http

解析大量小范围Range头时耗尽CPU,CVSS7.5
1.26.9、1.27.2
CVE-2026-42501/39826
2026年5月
恶意模块代理可绕过校验和;html/template存在转义绕过和XSS
1.25.10、1.26.3

Go发布1.26.10和1.27.3,修复CVE-2026-111943;RustSec发布RUSTSEC-2026-0382和RUSTSEC-2026-0383,要求分别升级rustls-webpki与webpki-root-certs[4][9][10]。Node.js也在当天的安全版本中更新根证书,并新增8个中间CA的SPKI阻断列表[2]。

Go标准库漏洞不会因为更新系统CA包而消失。使用旧版本编译的静态二进制必须重新编译并部署。

六、JavaSE与JavaFX

Oracle在10月20日发布十月关键补丁更新。JavaSE与JavaFX属于例行CPU,不是10月21日临时爆发的新漏洞[5]。

CVE或问题
影响
修复
CVE-2026-101516
Java核心Libraries组件,CVSS6.5Medium,未认证网络攻击者可造成部分数据读取和有限修改[5]
Java8u511、11.0.33、17.0.21、21.0.13、25.0.5、27.0.1
CVE-2026-43660
Oracle风险矩阵列为JavaFXWebKitGTK,CVSS7.5;CVE主库和NVD却记录为AppleWebKitCSP问题[5][12]
引用时必须注明来源冲突

CVE-2026-43660的编号归属存在明显矛盾。Oracle公告描述的是JavaFX问题,Apple发布的CVE记录描述的是Safari与WebKit问题。不能在没有补充说明的情况下,把它写成“10月21日新发现的Java漏洞”。

Oracle后续计划为2026年11月17日和12月15日发布CSPU,2027年1月19日发布CPU。Java21自10月CPU起进入OTN许可路径,商业生产环境还需要核对订阅范围。

七、MySQL

MySQL在同一CPU中包含98个新安全补丁,其中29个可由未认证攻击者远程触发[5]。MySQL8.4和9.7分支应分别升级到8.4.13和9.7.4,其他发行版本按照OracleCPU378执行。对公网可达、允许低权限账户连接或承载高价值数据的实例,应优先安排维护窗口。

其中CVE-2026-101621位于InnoDB,拥有高权限的网络攻击者可让MySQLServer或Cluster反复崩溃,CVSS4.9。该漏洞同样在10月CPU中修复。

图片[7]-【漏洞大逃杀】从昨夜PHP RCE到30余款组件安全事件复盘-阻击者联盟
07-oracle-cpu

图7 Oracle十月CPU。

八、SpringFramework

Spring在本轮被重新提及的四个CVE分别产生于2026年6月和8月,不是10月21日新披露[17]:

图片[8]-【漏洞大逃杀】从昨夜PHP RCE到30余款组件安全事件复盘-阻击者联盟
08-spring-advisory

图8 Spring安全公告。

CVE
问题
修复
CVE-2026-41854 UriComponentsBuilder

主机解析错误导致SSRF
7.0.8、6.2.19
CVE-2026-47884 XsltView

在特定/**映射和视图渲染条件下导致SSRF与RCE
7.0.9、6.2.20等对应分支
CVE-2026-47890
SSE片段渲染可破坏其他用户的数据流
7.0.9、6.2.20等对应分支
CVE-2026-59281
字段错误通过EscapedErrors渲染时可形成反射型XSS
7.0.9、6.2.20、6.1.29等对应分支

Spring官方与CISA/NVD对部分条目的严重度评分差异较大。例如CVE-2026-47884被Spring标为Medium,而后补CVSS达到9.8。处置时应同时考虑评分和实际触发条件。

九、ApacheTomcat

Tomcat涉及三个不同问题:

  • CVE-2026-34486:2026年4月披露,CVE-2026-29146的修复不完整,攻击者可绕过集群通信使用的EncryptInterceptor。修复版本为9.0.117、10.1.54、11.0.21。
  • CVE-2026-101296:10月20日正式记录,JNDIRealm使用非GSSAPI SASL机制时认证校验可能失败开放。修复版本为9.0.123、10.1.61、11.0.27。
  • CVE-2026-93446:10月20日正式记录,官方评级Low,表现为TLS1.3连接间歇失败。修复版本与101296相同。

CVE-2026-34486不应简化成“反序列化RCE”,它的直接问题是加密拦截器被绕过。

十、Jackson

CVE-2026-54512和CVE-2026-54513于2026年6月披露,均涉及JacksonDatabind多态类型允许列表绕过,CVSS8.1。前者利用泛型参数隐藏被禁止的子类型,后者利用数组元素类型绕过allowIfSubTypeIsArray()。

只有在启用多态类型、并依赖PolymorphicTypeValidator限制可反序列化类型时才会触发。修复版本为2.18.8、2.21.4和3.1.4。

十一、Log4j

CVE-2026-49844于2026年7月披露,问题位于Log4jAPI的MapMessage.asJson():当日志中包含NaN、Infinity等非有限浮点值时,输出可能不是合法JSON。

触发需要应用使用相应JSON布局和消息解析路径,并且攻击者能控制被记录的浮点值。官方评分为Medium,主要影响日志完整性和下游解析,不应与Log4Shell类远程代码执行相提并论。修复版本为2.25.5和2.26.1。

十二、snappy-java

CVE-2026-108106于2026年10月披露,CVSS7.5。snappy-java在验证解压数据前信任输入声明的未压缩长度,几字节的畸形输入即可迫使JVM尝试分配最高约2GB内存,导致OutOfMemoryError或拒绝服务。

修复版本为1.1.10.9。除升级直接依赖外,还应检查Hadoop、Kafka、Spark等传递依赖是否仍捆绑旧版本。

十三、Python与AI框架

PyTorch

CVE-2026-24747于2026年1月披露,CVSS8.8。2.10.0之前的PyTorch在用weights_only=True加载恶意.pth检查点时可能发生内存破坏和代码执行。修复版本为2.10.0。

MLflow

CVE-2026-64849于2026年8月披露,CVSS9.3。3.3.0至3.15.0之前的MLflowWebhook测试接口未认证,且可被HTTP重定向和DNS重绑定绕过URL校验,读取内网或云元数据响应。修复版本为3.15.0,同月进入CISA的KEV目录[11][12]。

Ray

CVE-2025-62593于2025年11月披露。Ray2.52.0之前可被Firefox或Safari中的DNS重绑定攻击利用,开发者访问恶意网页后可能触发RCE。2026年8月进入CISA的KEV目录,修复版本为2.52.0[11][12]。

pip

CVE-2026-8643于2026年6月披露。pip24.0至26.1.1未正确限制console_scripts和gui_scripts入口点路径,可将文件写到安装目录之外。修复版本为26.1.2。

CPython

CVE-2026-1299于2026年1月披露。email.BytesGenerator配合LiteralHeader可因未引用的换行字符发生邮件头注入。修复版本包括3.10.20、3.11.15、3.12.13、3.13.12、3.14.3和3.15.0a6。

virtualenv

CVE-2026-113723于10月20日披露。virtualenv21.14.9之前,调用方提供的prompt文本可在bash激活提示符中成为可执行语法。触发要求攻击者影响prompt值,用户随后激活环境并渲染提示符。修复版本为21.14.9。

另有少量汇总提到aiohttp与filelock存在近期问题,但未给出可核实的CVE编号、影响范围或修复版本,本文不将其与已确认漏洞混列。

十四、Ruby与Rails

RailsActiveStorage

CVE-2026-66066于2026年7月披露,CVSS9.5。应用必须使用libvips处理ActiveStorage图片,并允许不可信用户上传文件。攻击者可调用libvips中不适合处理不可信内容的操作,读取Rails进程可访问的任意文件与密钥;泄露secret_key_base后可能进一步导致RCE。

修复版本为7.2.3.2、8.0.5.1和8.1.3.1,同时要求libvips不低于8.13。不是所有Rails应用默认受影响。

ruby-jwt

CVE-2026-45363于2026年7月披露,CVSS9.1。JWT.decode()接受空字符串作为HMAC密钥,keyfinder返回空字符串、nil或包含nil的数组时也可能触发空密钥验证,攻击者可伪造HS256、HS384或HS512令牌。修复版本为2.10.3和3.2.0。

ERB

CVE-2026-41316于2026年4月披露,CVSS8.1。ERB的def_method、def_module和def_class没有执行@_init检查;当应用对不可信数据执行Marshal.load()时,可形成代码执行链。修复版本为4.0.3.1、4.0.4.1、6.0.1.1和6.0.4。

Rubyresolv

CVE-2026-80212和CVE-2026-80213于2026年8月披露。恶意DNS响应可让resolv为大量未知记录类型永久创建类对象,造成内存持续增长;同批还存在主机名校验问题。

修复版本为resolv0.7.2,Ruby3.3系列使用0.3.2。

net-imap

CVE-2026-42246于2026年5月披露。中间人可通过控制响应时机让Net::IMAP#starttls错误地返回成功,却没有实际启动TLS,形成STARTTLS剥离。修复版本为0.3.10、0.4.24、0.5.14和0.6.4。

十五、.NET与ASP.NETCore

10月13日更新

CVE-2026-102870的CVSS为8.8,问题位于BlazorWebAssembly调试代理。调试器在编译表达式时会把应用中的ToString()结果、类名等值嵌入生成的C#代码,未一致转义时可导致代码注入。

只有使用受影响Microsoft.AspNetCore.Components.WebAssembly.Server调试BlazorWebAssembly,并计算包含攻击者控制数据的表达式时才受影响。修复版本为10.0.13和11.0.0-rc.2.26478.115[7]。

2026年7月与8月历史批次

  • 7月批:CVE-2026-50649和50650,涉及反序列化与代码注入,修复版本为10.0.10、9.0.18、8.0.29。
  • 8月批:CVE-2026-62886、62897、70354,涉及权限提升与代码执行,修复版本为10.0.11、9.0.19、8.0.30。

Marten

CVE-2026-75513于2026年9月披露,CVSS9.1。LINQ和租户查询字符串拼接可造成SQL注入、租户授权绕过和盲注。修复版本为Marten9.13.0。

十六、Rust

eMudhra信任链

  • RUSTSEC-2026-0382:rustls-webpki可能接受包含失陷emSign中间证书的路径;修复为0.103.16及0.104.0-alpha.8以上[9]。
  • RUSTSEC-2026-0383:webpki-root-certs内置可通向失陷中间证书的根;修复为1.0.10以上,0.26.11包装版本需确保其1.x依赖同步升级[10]。

Cargo

CVE-2026-5222于2026年5月披露,Cargo1.68至1.96之前对第三方稀疏注册表URL归一化不正确,特定托管条件下可能把凭据发送给其他注册表。官方评级Low。

CVE-2026-5223同批披露,第三方crate中的符号链接可覆盖同注册表其他crate的缓存源码。crates.io禁止此类符号链接,因此crates.io用户不受影响。两项均修复于Rust1.96.0。

tar-rs

CVE-2026-33055和CVE-2026-33056于2026年3月披露。前者是PAX长度字段处理差异,后者会跟随符号链接对解压目录外的目录执行chmod。

修复版本为tar0.4.45,Rust1.94.1同步更新Cargo内置依赖。业务程序如果直接使用tar-rs,仍需单独升级。

十七、NGINX

10月14日,NGINX发布五个中等严重度修复,修复版本为1.30.6和1.31.7[8]:

CVE
问题
CVE-2026-15176
alias与rewrite组合导致堆缓冲区溢出,可造成worker重启,关闭ASLR或绕过ASLR时可能执行代码
CVE-2026-93479
变量表达式求值中的缓冲区溢出
CVE-2026-97205
AIO与SSIinclude virtual组合导致释放后使用
CVE-2026-95101
HTTP/3请求体可能被注入代理请求
CVE-2026-97629
TLS会话票据密钥轮换异常,可能导致会话伪造和客户端证书验证绕过

十八、Traefik

10月15日发布的Traefik3.7.15修复三个KubernetesIngressNGINXprovider相关公告:同一主机上不同Ingress的auth-tls-secret配置可导致mTLS保护失效开放;fastProxy存在连接数据竞争;TLS选项缓存可能跳过跨命名空间授权检查[14]。

使用IngressNGINXprovider并配置mTLS的环境应优先升级,同时审计同一主机下的多个Ingress资源。

十九、Vyper

Vyper相关项目公告发布于2026年10月,CVE记录在10月21日正式落地,因此不能算10月21日首次发现。

  • CVE-2026-114118:create_from_blueprint的code_offset可发生无符号回绕,使工厂部署没有运行时代码的空合约。
  • CVE-2026-114116:源行表使用str.splitlines(),某些分隔符可让审核看到的数字常量和编译器实际使用的值不一致。

项目公告评级为Low,与网络中部分“高危远程RCE”说法不符。老分支已有部分修复;0.4.1至0.5.0b1的多项问题尚无正式发布修复版本。对不可信合约源码应拒绝合并,固定编译器版本并核验生成字节码。

二十、Perl

CVE-2026-85644于2026年9月披露,问题位于XS-Parse-Keyword发行版中的XS::Parse::Infix。特制输入可导致拒绝服务。

Ubuntu在10月20日发布USN-8940-1,上游修复版本为0.50;Ubuntu26.10提供0.49-1ubuntu1,26.04LTS提供0.49-1ubuntu0.1[12][16]。

二十一、Flutter与Dart

CVE-2026-27704于2026年2月披露。Dart和Flutter的pub缓存解压存在符号链接型ZipSlip,恶意第三方包可在提取时把文件写到缓存目录之外。

修复版本为Dart3.11.0和Flutter3.41.0。pub.dev已清理存量包并禁止新包包含符号链接,风险主要来自第三方包仓库、私有仓库或可信度不足的镜像。

二十二、处置优先级

第一优先级

更新浏览器、操作系统和自维护CA库,重点更新Go、Rust、Java、Python、Node.js和容器基础镜像中的独立信任库。对内部客户端和物联网设备,检查是否仍在接受包含eMudhra中间证书的链。

第二优先级

升级所有对外PHP服务到8.2.35、8.3.36、8.4.27或8.5.12,重启全部worker,并检索异常multipart请求与内存耗尽日志。

第三优先级

排查LiteLLM1.107.0的wheel、镜像层、构建缓存和运行容器。命中后先隔离,不要在受感染虚拟环境中启动Python,随后重建并轮换全部可达凭据。

第四优先级

将Node.js升级到22.23.4、24.22.1或26.12.1,并清理仍在使用EOL版本的镜像。

第五优先级

按OracleCPU升级JavaSE与MySQL,按官方公告更新NGINX、Traefik、.NET、Vyper和virtualenv。同时处理Go的CVE-2026-78667以及7月至9月的.NET/Marten历史补丁。Spring、Tomcat、Jackson、Python/AI、Ruby和Rust历史CVE仍需修复,但不应把它们全部计入10月21日新披露数量。

二十三、结论

这次“漏洞夜袭”由三种不同风险叠加而成:PHP与Node.js的运行时RCE,eMudhra引发的跨生态证书信任修复,以及LiteLLM的软件供应链投毒。三者都需要快速响应,但处置方法并不相同。

同时,社区在短时间内重新传播了大量历史CVE。漏洞严重性不会因为披露较早而消失,但时间线必须保持准确。把旧漏洞全部写成“今晚新爆”,会造成补丁窗口、攻击面和应急资源的错误判断。

比“今晚又多了多少CVE”更重要的问题是:哪些系统真正满足触发条件,哪些发布链已经不再被信任,以及哪些凭据已经需要视为泄露。

参考文献

[1] THE PHP GROUP. Security Advisory: Critical Remote Code Execution Vulnerabilities, Update Now[EB/OL]. (2026-10-21)[2026-10-22]. https://www.php.net/index.php#2026-10-21-5.

[2] NODE.JS SECURITY TEAM. Wednesday, October 21, 2026 Security Releases[EB/OL]. (2026-10-21)[2026-10-22]. https://nodejs.org/en/blog/vulnerability/october-2026-security-releases.

[3] CLOUDFLARE. 8 eMudhra Certificates Are Compromised. Here’s What You Need to Know[EB/OL]. (2026-10-20)[2026-10-22]. https://blog.cloudflare.com/emudhra-certificate-compromise.

[4] GO SECURITY TEAM. Go 1.27.3 and Go 1.26.10 Are Released[EB/OL]. (2026-10-19)[2026-10-22]. https://groups.google.com/g/golang-announce/c/66pojueaQek.

[5] ORACLE. Critical Patch Update Advisory – October 2026[EB/OL]. (2026-10-20)[2026-10-22]. https://www.oracle.com/security-alerts/cpuoct2026.html.

[6] BERRIAI. [SECURITY] litellm 1.107.0 Compromised[EB/OL]. GitHub Issue #47826, (2026-10-21)[2026-10-22]. https://github.com/BerriAI/litellm/issues/47826.

[7] MICROSOFT. CVE-2026-102870: ASP.NET Core Remote Code Execution Vulnerability[EB/OL]. (2026-10-13)[2026-10-22]. https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-102870.

[8] F5. NGINX Security Advisories[EB/OL]. (2026-10-14)[2026-10-22]. https://nginx.org/en/security_advisories.html.

[9] RUSTSEC. RUSTSEC-2026-0382: Certificate Verification May Accept Distrusted Intermediates[EB/OL]. (2026-10-20)[2026-10-22]. https://rustsec.org/advisories/RUSTSEC-2026-0382.

[10] RUSTSEC. RUSTSEC-2026-0383: Bundled Root Certificates Allow Trust in Distrusted emSign Intermediates[EB/OL]. (2026-10-20)[2026-10-22]. https://rustsec.org/advisories/RUSTSEC-2026-0383.

[11] CISA. Known Exploited Vulnerabilities Catalog[EB/OL]. [2026-10-22]. https://www.cisa.gov/known-exploited-vulnerabilities-catalog.

[12] CVE PROGRAM. CVE Records[EB/OL]. [2026-10-22]. https://www.cve.org/.

[13] EMUDHRA. An Update on Our Global TLS Intermediate CA Incident[EB/OL]. (2026-10-21)[2026-10-22]. https://emudhra.com/en/post/certificate-security-incident.

[14] TRAEFIK LABS. v3.7.15[EB/OL]. (2026-10-15)[2026-10-22]. https://github.com/traefik/traefik/releases/tag/v3.7.15.

[15] TENABLE. php2shell: Frequently Asked Questions About CVE-2026-109618 and CVE-2026-109619[EB/OL]. (2026-10-21)[2026-10-22]. https://www.tenable.com/blog/php2shell-cve-2026-109618-cve-2026-109619-frequently-asked-questions-about-critical-php-remote.

[16] UBUNTU. USN-8940-1: Perl XS::Parse::Keyword Module Vulnerability[EB/OL]. (2026-10-20)[2026-10-22]. https://ubuntu.com/security/notices/USN-8940-1.

[17] SPRING. Spring Framework Improper Path Limitation in XsltView[EB/OL]. (2026-08-20)[2026-10-22]. https://spring.io/security/cve-2026-47884.


— 阅读原文请访问微信公众号「星宇Sec」 · 原文链接 —

© 版权声明
THE END
喜欢就支持一下吧
点赞11 分享
评论 抢沙发
头像-阻击者联盟
欢迎您留下宝贵的见解!
提交
头像-阻击者联盟

昵称

取消
昵称表情代码图片快捷回复

    暂无评论内容