PHP2Shell(CVE-2026-109618/CVE-2026-109619)是预认证内核级RCE漏洞,临时缓解仅争取数小时至一两天窗口:禁用session.upload_progress、拦截multipart POST、限请求体与速率、设pm.max_requests=1或下线高风险服务,但必须配合紧急升级。

不能立即升级时,临时缓解只能争取时间,但无法消除风险。PHP2Shell(CVE-2026-109618 / CVE-2026-109619)是内核级内存破坏漏洞,攻击在应用代码执行前就已完成,所有业务层防护都无效。临时措施仅适用于升级前的数小时至一两天,且必须配合后续升级动作。
关键配置禁用上传进度功能
漏洞利用高度依赖 session.upload_progress 机制。这是最直接、影响最小的缓解项:
- 编辑
php.ini,将session.upload_progress.enabled = Off - 若使用 FPM,确保该配置在
www.conf或对应 pool 配置中被显式覆盖(FPM 可能忽略全局 php.ini) - 重启 PHP 进程:
systemctl restart php8.5-fpm或service apache2 restart - 验证生效:执行
php -i | grep upload_progress,输出应为session.upload_progress.enabled => Off
Web 服务器层拦截可疑请求
攻击载荷通常通过特制 multipart/form-data 请求触发,可从入口处做初步过滤:
- Nginx:在 server 或 location 块中添加规则,拒绝无实际文件名的上传请求
if ($content_type ~ "multipart/form-data") {<br> if ($request_method = POST) {<br> set $block 1;<br> }<br>}<br>if ($block) {<br> rewrite ^(.*)$ /403.html break;<br>} - Apache:启用 mod_rewrite,添加
RewriteCond %{CONTENT_TYPE} multipart/form-data+RewriteRule .* - [F](仅限无上传业务的站点) - 注意:此法会阻断所有 multipart POST,如登录表单含文件域、头像上传等,需提前评估业务影响
限制请求体与连接行为
利用过程常伴随异常大请求或高频试探,可辅助压缩攻击窗口:
- 在 Nginx 中设置
client_max_body_size 2m;(默认 1M,不宜过大) - 启用速率限制:
limit_req_zone $binary_remote_addr zone=phpshell:10m rate=5r/m;,并在 PHP 处理 location 中应用 - PHP-FPM 层可临时设
pm.max_requests = 1,强制 worker 处理一次请求后退出——内存陈旧状态无法复用,但性能损耗极大,仅限极端应急
紧急下线或隔离高风险服务
对非核心、可暂停的 PHP 服务,最稳妥的临时手段仍是主动控制暴露面:
- 将 CMS 后台、测试环境、旧管理接口等非必要 PHP 路径,通过 Web 服务器返回 404 或 503
- 云环境可快速切换安全组,只放行白名单 IP 访问 PHP 端口
- CISA 已明确要求联邦机构“在无法修复时下线服务”,这不是过度反应,而是基于漏洞预认证特性的合理判断
php免费学习视频:立即使用
踏上前端学习之旅,开启通往精通之路!从前端基础到项目实战,循序渐进,一步一个脚印,迈向巅峰!











