
文章插图
0x01 前言2019年10月23日,php官方发布了在 Nginx 配置不当的情况下 php-fpm 可导致远程代码执行的漏洞 。
但由于是配置文件的开放性,还请使用 nginx+php-fpm 的服务管理员/运维人员及时做好自查自检工作 。
能不能不举报我了,总被禁言 。。。我苦啊!
0x02 漏洞详情在 https://github.com/php/php-src/blob/master/sapi/fpm/fpm/fpm_main.c#L1150 中由于n(%0a)的传入导致nginx传递给php-fpm的PATH_INFO为空 。
进而导致可以通过FCGI_PUTENV与PHP_VALUE相结合,修改当前的php-fpm进程中的php配置 。在特殊构造的配置生效的情况下可以触发任意代码执行 。
注:完全复制Nginx官方给出的php-fpm示例配置的用户受到此漏洞影响
示例配置如下:
PHP FastCGI Example | NGINX
0x03 漏洞证明:

文章插图
使用配置文件

文章插图
0x04 修复建议
- 修改 nginx 配配置文件中fastcgi_split_path_info的正则表达式,不允许.php之后传入不可显字符
- 暂停使用 nginx+php-fpm 服务
- 删除如下配置
【PHP-FPM在Nginx特定配置下任意代码执行漏洞预警】
推荐阅读
- Docker安装php-fpm扩展模块
- 开淘宝店的基本流程 如何在淘宝开店需要什么条件
- 将Php-fpm docker容器与Mongo DB docker容器连接
- 如何检查服务器是否被入侵
- 高级前端必须要懂得nginx知识
- 为何在茶叶店喝的茶跟买回家后泡的口感不样
- Nginx和php-fpm部署到不同的服务器
- 禁止家长代拍什么意思 代拍应该被禁止吗
- 白萝卜放冰箱变黑
- 夏天馒头可以放多久
