CVE-2019-11043: PHP-FPM在Nginx特定配置下任意代码执行漏洞预警

发表于:2019-10-25 09:27

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:佚名    来源:信息安全搬运工

#
漏洞
  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 修复建议
  1.修改 nginx 配配置文件中fastcgi_split_path_info的正则表达式,不允许.php之后传入不可显字符
  2.暂停使用 nginx+php-fpm 服务
  3.删除如下配置
   fastcgi_split_path_info ^(.+?\.php)(/.*)$;
  fastcgi_param PATH_INFO $fastcgi_path_info;

      本文内容不用于商业目的,如涉及知识产权问题,请权利人联系博为峰小编(021-64471599-8017),我们将立即处理
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号