0x00简介:
2019年10月22日在国外上某技术大牛公开了在PHP-FPM中新修补的RCE。
0x01漏洞评判:
中危
注:因需要在特定的环境配置下才能代码执行,漏洞覆盖面有限
0x02:漏洞解析
因为“fpm_main.c”文件的第1150行代码中由于/n(%0a)的传入导致nginx传递给php-fpm的PATH_INFO为空。
https://github.com/php/php-src/blob/master/sapi/fpm/fpm/fpm_main.c#L1150
进而导致可以通过FCGI_PUTENV与PHP_VALUE相结合,修改当前的php-fpm进程中的php配置。在特殊构造的配置生效的情况下可以触发任意代码执行。
默认使用以下官方给出的_php-fpm示例配置_将会受到影响
PHP FastCGI Example | NGINX
0x03修复建议:
1.修改nginx配置文件中fastcgi_split_path_info的正则表达式,不允许.php之后传入不可显字符
2.暂停使用 nginx+php-fpm 服务
3.删除如下配置
fastcgi/_split/_path/_info ^(.+?//.php)(/.*)$;fastcgi/_param PATH/_INFO $fastcgi/_path_info;
来源:http://www.safe6.cn/
本文由 safe6 创作,著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。
本站的所有程序和文章,仅限用于学习和研究目的;不得用于商业或者非法用途,否则,一切后果请用户自负!! 最后编辑时间为: 2019-10-24
免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论