解决安全漏洞 https://symfony.com/cve-2020-15094

Solving Security Vulnerability https://symfony.com/cve-2020-15094

为了解决上述漏洞,我从 Symfony 4.1.*.

更新了这个旧的 PHP 项目

我使用这篇优秀 blog

中描述的步骤更新到 Symfony 4.4.13

不幸的是,我的大部分端点开始出现 NGINX 502 错误。

你知道如何解决这个问题吗?

在使用 composer 处理依赖项超过 2 天之后,我发现了另一个非常好的 blog 用于解决 NGINX 错误。

查看位于 /var/log/nginx/error.log 的错误日志,我注意到端点因以下错误而失败: nginx upstream 在从上游

读取响应 header 时发送太大 header

解决方案是增加 fastcgi 缓冲区大小

server {
    listen 8080 default_server;

    server_name _;
    root /var/www/public;

    location / {
        # try to serve file directly, fallback to index.php
        try_files $uri /index.php$is_args$args;
    }

    location ~ ^/index\.php(/|$) {
        fastcgi_pass   unix:/var/run/php/php7.2-fpm.sock;
        fastcgi_split_path_info ^(.+\.php)(/.*)$;
        include fastcgi_params;

        fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;
        fastcgi_param DOCUMENT_ROOT $realpath_root;
        internal;

        # Required since we have update to symfony 4.4.13 (because of security vulnerability in http-kernel), we need to
        # increase the size buffer for the response from FPM
        fastcgi_buffers 16 16k;
        fastcgi_buffer_size 32k;
    }
}

然后重新加载nginx

/etc/init.d/nginx reload