{"id":499833,"date":"2026-10-22T17:15:32","date_gmt":"2026-10-22T14:15:32","guid":{"rendered":"https:\/\/savepearlharbor.com\/?p=499833"},"modified":"2026-10-22T17:15:32","modified_gmt":"2026-10-22T14:15:32","slug":"","status":"publish","type":"post","link":"https:\/\/savepearlharbor.com\/?p=499833","title":{"rendered":"\u0412\u044b\u0436\u0438\u0432\u0430\u0435\u043c \u043f\u0440\u0438 PHP2Shell (CVE-2026-109618 \/ CVE-2026-109619) \u043d\u0430 \u043b\u0435\u0433\u0430\u0441\u0438-\u0441\u0442\u0435\u043a\u0435: Varnish + Docker + Apache mod_php (PHP 5.6)"},"content":{"rendered":"<div xmlns=\"http:\/\/www.w3.org\/1999\/xhtml\">\n<p>21 \u043e\u043a\u0442\u044f\u0431\u0440\u044f 2026 \u0433\u043e\u0434\u0430 \u043c\u0438\u0440 PHP \u0432\u0437\u0434\u0440\u043e\u0433\u043d\u0443\u043b \u043e\u0442 \u0430\u043d\u043e\u043d\u0441\u0430 \u0434\u0432\u0443\u0445 \u043a\u0440\u0438\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0445 RCE-\u0443\u044f\u0437\u0432\u0438\u043c\u043e\u0441\u0442\u0435\u0439 (CVSS 9.2), \u043f\u043e\u043b\u0443\u0447\u0438\u0432\u0448\u0438\u0445 \u043e\u0431\u0449\u0435\u0435 \u0438\u043c\u044f <strong>PHP2Shell<\/strong> (<strong>CVE-2026-109618<\/strong> \u0438 <strong>CVE-2026-109619<\/strong>). \u041e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u044c \u044d\u0442\u0438\u0445 \u0431\u0440\u0435\u0448\u0435\u0439 \u0432 \u0442\u043e\u043c, \u0447\u0442\u043e \u043e\u043d\u0438 \u0441\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u044e\u0442 \u043d\u0430 \u0443\u0440\u043e\u0432\u043d\u0435 \u044f\u0434\u0440\u0430 \u0438\u043d\u0442\u0435\u0440\u043f\u0440\u0435\u0442\u0430\u0442\u043e\u0440\u0430 \u0435\u0449\u0435 <strong>\u0434\u043e \u0442\u043e\u0433\u043e, \u043a\u0430\u043a \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u0434\u043e\u0439\u0434\u0435\u0442 \u0434\u043e \u043f\u0435\u0440\u0432\u043e\u0439 \u0441\u0442\u0440\u043e\u0447\u043a\u0438 \u0432\u0430\u0448\u0435\u0433\u043e <\/strong><code><strong>index.php<\/strong><\/code>. \u0414\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e, \u0447\u0442\u043e\u0431\u044b \u0441\u0435\u0440\u0432\u0435\u0440 \u043f\u0440\u043e\u0441\u0442\u043e \u043f\u0440\u0438\u043d\u0438\u043c\u0430\u043b HTTP-\u0437\u0430\u043f\u0440\u043e\u0441\u044b.<\/p>\n<p>\u0420\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0438 PHP \u043e\u043f\u0435\u0440\u0430\u0442\u0438\u0432\u043d\u043e \u0432\u044b\u043f\u0443\u0441\u0442\u0438\u043b\u0438 \u043f\u0430\u0442\u0447\u0438 \u0434\u043b\u044f \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u043c\u044b\u0445 \u0432\u0435\u0442\u043e\u043a (8.2.35, 8.3.36, 8.4.27, 8.5.12) \u0438 \u0437\u0430\u044f\u0432\u0438\u043b\u0438: <em>\u00ab\u0415\u0434\u0438\u043d\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0439 100% \u0441\u043f\u043e\u0441\u043e\u0431 \u0437\u0430\u0449\u0438\u0442\u044b \u2014 \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0435, \u0430 \u0441\u0446\u0435\u043d\u0430\u0440\u0438\u0439 \u043d\u0430\u0438\u0432\u044b\u0441\u0448\u0435\u0433\u043e \u0440\u0438\u0441\u043a\u0430 \u2014 \u044d\u0442\u043e Apache \u0441 <\/em><code><em>mod_php<\/em><\/code><em>\u00bb<\/em>.<\/p>\n<p>\u0417\u0432\u0443\u0447\u0438\u0442 \u043e\u0442\u043b\u0438\u0447\u043d\u043e, \u0435\u0441\u043b\u0438 \u0443 \u0432\u0430\u0441 \u0441\u0432\u0435\u0436\u0438\u0439 \u043f\u0440\u043e\u0435\u043a\u0442. \u0410 \u0447\u0442\u043e \u0434\u0435\u043b\u0430\u0442\u044c, \u0435\u0441\u043b\u0438 \u0432 \u043f\u0440\u043e\u0434\u0430\u043a\u0448\u0435\u043d\u0435 \u043a\u0440\u0443\u0442\u0438\u0442\u0441\u044f \u0441\u0443\u0440\u043e\u0432\u044b\u0439 \u0432\u044b\u0441\u043e\u043a\u043e\u043d\u0430\u0433\u0440\u0443\u0436\u0435\u043d\u043d\u044b\u0439 \u044d\u043d\u0442\u0435\u0440\u043f\u0440\u0430\u0439\u0437-\u043b\u0435\u0433\u0430\u0441\u0438 \u043d\u0430 <strong>PHP 5.6<\/strong> \u0432 \u0441\u0432\u044f\u0437\u043a\u0435 \u0441 <strong>Apache 2.4 (<\/strong><code><strong>mpm_prefork<\/strong><\/code><strong> + <\/strong><code><strong>mod_php<\/strong><\/code><strong>)<\/strong>, \u043f\u0435\u0440\u0435\u043f\u0438\u0441\u0430\u0442\u044c \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0437\u0430 \u043d\u043e\u0447\u044c \u043d\u0435\u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e, \u0430 \u043e\u0444\u0438\u0446\u0438\u0430\u043b\u044c\u043d\u044b\u0445 \u043f\u0430\u0442\u0447\u0435\u0439 \u0434\u043b\u044f \u0432\u0435\u0442\u043a\u0438 5.6 \u043d\u0435 \u0432\u044b\u0439\u0434\u0435\u0442 \u043d\u0438\u043a\u043e\u0433\u0434\u0430?   <\/p>\n<p>\u041f\u043e\u0434 \u043a\u0430\u0442\u043e\u043c &#8212; \u043f\u0440\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u0440\u0430\u0437\u0431\u043e\u0440 \u0442\u043e\u0433\u043e, \u043a\u0430\u043a \u0443\u0441\u0442\u0440\u043e\u0435\u043d\u044b \u043e\u0431\u0435 \u0443\u044f\u0437\u0432\u0438\u043c\u043e\u0441\u0442\u0438, \u043f\u043e\u0447\u0435\u043c\u0443 \u0438\u043c\u0435\u043d\u043d\u043e <code>mod_php<\/code> \u043e\u043a\u0430\u0437\u0430\u043b\u0441\u044f \u043f\u043e\u0434 \u0433\u043b\u0430\u0432\u043d\u044b\u043c \u0443\u0434\u0430\u0440\u043e\u043c \u0438 \u043a\u0430\u043a \u044f \u0432\u044b\u0441\u0442\u0440\u043e\u0438\u043b \u044d\u0448\u0435\u043b\u043e\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u0443\u044e \u043e\u0431\u043e\u0440\u043e\u043d\u0443 \u043d\u0430 \u0443\u0440\u043e\u0432\u043d\u0435 <strong>Varnish \u2192 Apache \u2192 PHP \u2192 Docker cgroups<\/strong>, \u043d\u0435 \u0441\u043b\u043e\u043c\u0430\u0432 \u043b\u0435\u0433\u0430\u0441\u0438-\u043c\u043e\u043d\u043e\u043b\u0438\u0442 \u0438 \u043f\u0440\u043e\u0432\u0435\u0440\u0438\u0432 \u043a\u0430\u0436\u0434\u044b\u0439 \u0440\u0443\u0431\u0435\u0436 \u0431\u043e\u0435\u043c (\u0441 \u0440\u0430\u0437\u0431\u043e\u0440\u043e\u043c \u043f\u043e\u0434\u0432\u043e\u0434\u043d\u044b\u0445 \u043a\u0430\u043c\u043d\u0435\u0439 HTTP keep-alive).<\/p>\n<h4>\u0412\u0432\u0435\u0434\u0435\u043d\u0438\u0435 \u0432 \u0430\u043d\u0430\u0442\u043e\u043c\u0438\u044e PHP2Shell: \u0447\u0442\u043e \u0438\u043c\u0435\u043d\u043d\u043e \u043b\u043e\u043c\u0430\u0435\u0442\u0441\u044f?<\/h4>\n<p>\u041e\u0431\u0435 \u0443\u044f\u0437\u0432\u0438\u043c\u043e\u0441\u0442\u0438 \u043e\u0442\u043d\u043e\u0441\u044f\u0442\u0441\u044f \u043a \u043a\u043b\u0430\u0441\u0441\u0443 <code>CWE-824<\/code> (\u043e\u0431\u0440\u0430\u0449\u0435\u043d\u0438\u0435 \u043a \u043d\u0435\u0438\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u043c\u0443 \u0443\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u044e) \u0438 \u044d\u043a\u0441\u043f\u043b\u0443\u0430\u0442\u0438\u0440\u0443\u044e\u0442 \u043c\u0435\u0445\u0430\u043d\u0438\u0437\u043c \u0430\u0432\u0430\u0440\u0438\u0439\u043d\u043e\u0433\u043e \u0432\u044b\u0445\u043e\u0434\u0430 \u0438\u0437 \u0437\u0430\u043f\u0440\u043e\u0441\u0430 \u0447\u0435\u0440\u0435\u0437 <code>longjmp()<\/code> \u0432\u043d\u0443\u0442\u0440\u0438 Zend Engine:<\/p>\n<ol>\n<li>\n<p><strong>CVE-2026-109618 RCE<\/strong> (Remote Code Execution, \u0438\u043b\u0438 \u0443\u0434\u0430\u043b\u0451\u043d\u043d\u043e\u0435 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0435 \u043a\u043e\u0434\u0430) <strong>\u0447\u0435\u0440\u0435\u0437 Out-Of-Memory <\/strong>(\u043d\u0435\u0445\u0432\u0430\u0442\u043a\u0430 \u043e\u043f\u0435\u0440\u0430\u0442\u0438\u0432\u043d\u043e\u0439 \u043f\u0430\u043c\u044f\u0442\u0438)<strong> \/ OOM  :<\/strong><\/p>\n<p>\u041a\u043e\u0433\u0434\u0430 \u0432\u0445\u043e\u0434\u044f\u0449\u0438\u0439 \u0437\u0430\u043f\u0440\u043e\u0441 \u043f\u0440\u0435\u0432\u044b\u0448\u0430\u0435\u0442 \u043b\u0438\u043c\u0438\u0442 <code>memory_limit<\/code>, \u0432\u043d\u0443\u0442\u0440\u0435\u043d\u043d\u0438\u0439 \u043c\u0435\u043d\u0435\u0434\u0436\u0435\u0440 \u043f\u0430\u043c\u044f\u0442\u0438 Zend \u0432\u044b\u0437\u044b\u0432\u0430\u0435\u0442 OOM-\u043e\u0431\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a \u0438 \u043f\u0440\u0435\u0440\u044b\u0432\u0430\u0435\u0442 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0435 \u0447\u0435\u0440\u0435\u0437 <code>longjmp()<\/code>. \u0415\u0441\u043b\u0438 \u0438\u0441\u0447\u0435\u0440\u043f\u0430\u043d\u0438\u0435 \u043f\u0430\u043c\u044f\u0442\u0438 \u043f\u0440\u043e\u0438\u0437\u043e\u0448\u043b\u043e \u043f\u0440\u044f\u043c\u043e \u0432\u043e \u0432\u0440\u0435\u043c\u044f \u0440\u0430\u0437\u0431\u043e\u0440\u0430 \u0442\u0435\u043b\u0430 \u0437\u0430\u043f\u0440\u043e\u0441\u0430 (\u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, <code>multipart\/form-data<\/code>), \u0432\u043d\u0443\u0442\u0440\u0435\u043d\u043d\u0438\u0435 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u044b \u043f\u0430\u0440\u0441\u0435\u0440\u0430 \u043e\u0441\u0442\u0430\u044e\u0442\u0441\u044f \u0438\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u043c\u0438 \u043b\u0438\u0448\u044c \u043d\u0430\u043f\u043e\u043b\u043e\u0432\u0438\u043d\u0443. \u041f\u0440\u043e\u0446\u0435\u0434\u0443\u0440\u0430 \u043e\u0447\u0438\u0441\u0442\u043a\u0438 (<code>shutdown<\/code>) \u043f\u0440\u0438\u043d\u0438\u043c\u0430\u0435\u0442 \u00ab\u043c\u0443\u0441\u043e\u0440\u043d\u044b\u0435\u00bb \u043d\u0435\u0438\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0435 \u0443\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u0438 \u0437\u0430 \u0432\u0430\u043b\u0438\u0434\u043d\u044b\u0435 \u0430\u0434\u0440\u0435\u0441\u0430 \u0438 \u0432\u044b\u0437\u044b\u0432\u0430\u0435\u0442 \u043d\u0430 \u043d\u0438\u0445 <code>efree()<\/code>. \u041f\u043e\u0441\u043a\u043e\u043b\u044c\u043a\u0443 \u043a\u0443\u0447\u0430 (heap) \u0432 \u044d\u0442\u043e\u0442 \u043c\u043e\u043c\u0435\u043d\u0442 \u0443\u0436\u0435 \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u0440\u0430\u0437\u043c\u0435\u0447\u0435\u043d\u0430 \u0434\u0430\u043d\u043d\u044b\u043c\u0438 \u0430\u0442\u0430\u043a\u0443\u044e\u0449\u0435\u0433\u043e (Heap Feng Shui), \u044d\u0442\u043e \u043f\u0440\u0438\u0432\u043e\u0434\u0438\u0442 \u043a \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044e \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u043b\u044c\u043d\u043e\u0433\u043e \u043a\u043e\u0434\u0430.<\/p>\n<\/li>\n<li>\n<p><strong>CVE-2026-109619 (RCE \u0447\u0435\u0440\u0435\u0437 \u0443\u0441\u0442\u0430\u0440\u0435\u0432\u0448\u0435\u0435 \u0433\u043b\u043e\u0431\u0430\u043b\u044c\u043d\u043e\u0435 \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0435):<\/strong><\/p>\n<p>\u041a\u043e\u0433\u0434\u0430 \u0437\u0430\u043f\u0440\u043e\u0441 \u043f\u0430\u0434\u0430\u0435\u0442 \u0441 \u0444\u0430\u0442\u0430\u043b\u044c\u043d\u043e\u0439 \u043e\u0448\u0438\u0431\u043a\u043e\u0439 \u0438\u043b\u0438 \u043f\u043e \u0442\u0430\u0439\u043c\u0430\u0443\u0442\u0443 (<code>max_execution_time<\/code>), PHP \u0442\u0430\u043a\u0436\u0435 \u0432\u044b\u043f\u0440\u044b\u0433\u0438\u0432\u0430\u0435\u0442 \u0438\u0437 \u043a\u043e\u043d\u0442\u0435\u043a\u0441\u0442\u0430 \u0447\u0435\u0440\u0435\u0437 <code>longjmp()<\/code>. \u041f\u0440\u0438 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u043d\u044b\u0445 \u0443\u0441\u043b\u043e\u0432\u0438\u044f\u0445 (\u0432 \u0447\u0430\u0441\u0442\u043d\u043e\u0441\u0442\u0438, \u043f\u0440\u0438 \u0430\u043a\u0442\u0438\u0432\u043d\u043e\u043c \u043c\u0435\u0445\u0430\u043d\u0438\u0437\u043c\u0435 \u043e\u0442\u0441\u043b\u0435\u0436\u0438\u0432\u0430\u043d\u0438\u044f \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0438 \u0441\u0435\u0441\u0441\u0438\u0439 <code>session.upload_progress<\/code>) \u0433\u043b\u043e\u0431\u0430\u043b\u044c\u043d\u043e\u0435 \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0435 \u0440\u0430\u0431\u043e\u0447\u0435\u0433\u043e \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0430 \u0441\u043e\u0445\u0440\u0430\u043d\u044f\u0435\u0442 \u0443\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u044c \u043d\u0430 \u043f\u0430\u043c\u044f\u0442\u044c, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0431\u044b\u043b\u0430 \u043e\u0441\u0432\u043e\u0431\u043e\u0436\u0434\u0435\u043d\u0430 \u0432 \u043a\u043e\u043d\u0446\u0435 \u0430\u0432\u0430\u0440\u0438\u0439\u043d\u043e\u0433\u043e \u0437\u0430\u043f\u0440\u043e\u0441\u0430 (Use-After-Free \/ Stale Pointer). \u041a\u043e\u0433\u0434\u0430 <strong>\u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0439<\/strong> HTTP-\u0437\u0430\u043f\u0440\u043e\u0441 \u043f\u043e\u043f\u0430\u0434\u0430\u0435\u0442 \u0432 \u044d\u0442\u043e\u0442 \u0436\u0435 \u0432\u043e\u0440\u043a\u0435\u0440, PHP \u043e\u0431\u0440\u0430\u0449\u0430\u0435\u0442\u0441\u044f \u043a \u00ab\u0433\u0440\u044f\u0437\u043d\u043e\u043c\u0443\u00bb \u0443\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u044e \u0435\u0449\u0435 \u043d\u0430 \u044d\u0442\u0430\u043f\u0435 \u0438\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u0437\u0430\u043f\u0440\u043e\u0441\u0430 (<code>RINIT<\/code>).<\/p>\n<\/li>\n<\/ol>\n<h4>\u0418\u0441\u0445\u043e\u0434\u043d\u0430\u044f \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u0430 \u0438 \u043f\u043e\u0447\u0435\u043c\u0443 \u043c\u044b \u0432 \u043a\u0440\u0430\u0441\u043d\u043e\u0439 \u0437\u043e\u043d\u0435<\/h4>\n<p>\u0414\u0440\u0435\u0432\u043d\u0438\u0439 \u043b\u0435\u0433\u0430\u0441\u0438 \u043f\u0440\u043e\u0435\u043a\u0442, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u044f \u0430\u0434\u043c\u0438\u043d\u0438\u0441\u0442\u0440\u0438\u0440\u0443\u044e \u0438 \u0434\u043e\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u044e, \u043a\u0440\u0443\u0442\u0438\u0442\u0441\u044f \u0432 Docker Compose \u043d\u0430 \u0431\u0430\u0437\u0435 AlmaLinux. \u0421\u0445\u0435\u043c\u0430 \u043f\u0440\u043e\u0445\u043e\u0436\u0434\u0435\u043d\u0438\u044f \u0442\u0440\u0430\u0444\u0438\u043a\u0430 \u0432\u044b\u0433\u043b\u044f\u0434\u0438\u0442 \u0442\u0430\u043a:   <\/p>\n<ol>\n<li>\n<p><strong>\u041f\u0435\u0440\u0438\u043c\u0435\u0442\u0440:<\/strong> TLS-\u0442\u0435\u0440\u043c\u0438\u043d\u0430\u0442\u043e\u0440 <strong>Hitch<\/strong> (<code>172.19.0.101:443<\/code>) \u043f\u0440\u0438\u043d\u0438\u043c\u0430\u0435\u0442 HTTPS \u0438 \u043f\u043e \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b\u0443 PROXY v2 \u043e\u0442\u0434\u0430\u0435\u0442 \u0442\u0440\u0430\u0444\u0438\u043a \u0432 <strong>Varnish 6.0 LTS<\/strong> (<code>172.19.0.102<\/code>).   <\/p>\n<\/li>\n<li>\n<p><strong>\u0420\u043e\u0443\u0442\u0438\u043d\u0433 \u0432 Varnish:<\/strong> \u0427\u0430\u0441\u0442\u044c \u0442\u0440\u0430\u0444\u0438\u043a\u0430 \u0443\u0445\u043e\u0434\u0438\u0442 \u043d\u0430 \u0431\u044d\u043a\u0435\u043d\u0434\u044b \u0441 Node.js, \u0430 \u0441\u0442\u0430\u0442\u0438\u043a\u0430 \u0438 \u043b\u0435\u0433\u0430\u0441\u0438-\u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u043c\u0430\u0440\u0448\u0440\u0443\u0442\u0438\u0437\u0438\u0440\u0443\u044e\u0442\u0441\u044f \u043d\u0430 \u0434\u0432\u0430 \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u044b\u0445 \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u0430 \u0441 Apache (<code>apache_1 172.19.0.105<\/code> \u0438 <code>apache_2 172.19.0.109<\/code>).   <\/p>\n<\/li>\n<li>\n<p><strong>\u0412\u043d\u0443\u0442\u0440\u0438 PHP-\u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u043e\u0432:<\/strong> \u041e\u0431\u0440\u0430\u0437\u044b \u043d\u0430 \u0431\u0430\u0437\u0435 AlmaLinux 8 + \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0439 Remi (<code>php56-php<\/code>). Apache \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u0432 \u0440\u0435\u0436\u0438\u043c\u0435 <code>mpm_prefork<\/code> \u0441 <code>mod_php<\/code>.   <\/p>\n<\/li>\n<\/ol>\n<p><strong>\u0421\u0442\u0430\u0440\u0430\u044f \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044f \u0431\u044b\u043b\u0430 \u0438\u0434\u0435\u0430\u043b\u044c\u043d\u043e\u0439 \u043c\u0438\u0448\u0435\u043d\u044c\u044e \u0434\u043b\u044f PHP2Shell:<\/strong><\/p>\n<ul>\n<li>\n<p>\u0412 <code>mpm_tuning.conf<\/code> \u0443 Apache \u0441\u0442\u043e\u044f\u043b \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u044b\u0439 <code>MaxConnectionsPerChild 1000<\/code>. \u042d\u0442\u043e \u0437\u043d\u0430\u0447\u0438\u0442, \u0447\u0442\u043e \u043e\u0434\u0438\u043d \u0438 \u0442\u043e\u0442 \u0436\u0435 \u0444\u043e\u0440\u043a Apache \u043e\u0431\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u0435\u0442 1000 \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432 \u043f\u043e\u0434\u0440\u044f\u0434, \u0440\u0430\u0437\u0434\u0435\u043b\u044f\u044f \u0430\u0434\u0440\u0435\u0441\u043d\u043e\u0435 \u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0441\u0442\u0432\u043e \u0441 <code>mod_php<\/code>. \u0415\u0441\u043b\u0438 1-\u0439 \u0437\u0430\u043f\u0440\u043e\u0441 \u043e\u0441\u0442\u0430\u0432\u0438\u0442 \u00ab\u0433\u0440\u044f\u0437\u043d\u043e\u0435\u00bb \u0433\u043b\u043e\u0431\u0430\u043b\u044c\u043d\u043e\u0435 \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0435 (CVE-2026-109619), \u0443 \u0430\u0442\u0430\u043a\u0443\u044e\u0449\u0435\u0433\u043e \u0435\u0441\u0442\u044c \u0435\u0449\u0435 999 \u043f\u043e\u043f\u044b\u0442\u043e\u043a \u043f\u0440\u043e\u044d\u043a\u0441\u043f\u043b\u0443\u0430\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u044d\u0442\u043e\u0442 \u043f\u0440\u043e\u0446\u0435\u0441\u0441.   <\/p>\n<\/li>\n<li>\n<p>\u0412 \u043a\u043e\u043d\u0444\u0438\u0433\u0430\u0445 PHP \u0441\u0442\u043e\u044f\u043b <code>memory_limit = 512M<\/code> \u2014 \u0442\u043e \u0435\u0441\u0442\u044c \u0432\u043d\u0443\u0442\u0440\u0435\u043d\u043d\u0438\u0439 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a OOM Zend Engine \u0431\u044b\u043b \u0432\u0437\u0432\u0435\u0434\u0435\u043d \u0438 \u0433\u043e\u0442\u043e\u0432 \u043a \u0441\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u043d\u0438\u044e (CVE-2026-109618).   <\/p>\n<\/li>\n<li>\n<p>\u0414\u0438\u0440\u0435\u043a\u0442\u0438\u0432\u0430 <code>session.upload_progress.enabled<\/code> \u0432 PHP 5.6 \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e \u0432\u043a\u043b\u044e\u0447\u0435\u043d\u0430 (<code>On<\/code>).<\/p>\n<\/li>\n<\/ul>\n<p>\u041f\u043e\u0441\u043a\u043e\u043b\u044c\u043a\u0443 \u043f\u0435\u0440\u0435\u0441\u043e\u0431\u0440\u0430\u0442\u044c PHP 5.6 \u0441 \u0431\u044d\u043a\u043f\u043e\u0440\u0442\u043e\u043c \u043f\u0430\u0442\u0447\u0435\u0439 \u0438\u0437 PHP 8.4 \u043d\u0430 \u0431\u043e\u044e \u0431\u044b\u0441\u0442\u0440\u043e \u043d\u0435\u043b\u044c\u0437\u044f, \u044f \u0440\u0435\u0448\u0438\u043b \u0437\u0430\u043a\u0440\u044b\u0442\u044c \u0432\u0441\u0435 \u0432\u0435\u043a\u0442\u043e\u0440\u044b \u044d\u043a\u0441\u043f\u043b\u0443\u0430\u0442\u0430\u0446\u0438\u0438 \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u043d\u043e &#8212; \u043d\u0430 \u0447\u0435\u0442\u044b\u0440\u0435\u0445 \u0443\u0440\u043e\u0432\u043d\u044f\u0445.<\/p>\n<h4>\u0420\u0443\u0431\u0435\u0436 1: \u0412\u044b\u043a\u043b\u044e\u0447\u0430\u0435\u043c \u0442\u0440\u0438\u0433\u0433\u0435\u0440\u044b \u0432 PHP (\u0438 \u043d\u0435 \u043d\u0430\u0441\u0442\u0443\u043f\u0430\u0435\u043c \u043d\u0430 \u0433\u0440\u0430\u0431\u043b\u0438 \u0441 \u043f\u043e\u0440\u044f\u0434\u043a\u043e\u043c \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0438 .ini)<\/h4>\n<p>\u041f\u0435\u0440\u0432\u044b\u043c \u0434\u0435\u043b\u043e\u043c \u043d\u0443\u0436\u043d\u043e \u043e\u0442\u043a\u043b\u044e\u0447\u0438\u0442\u044c \u043e\u0431\u0430 \u0441\u043f\u0443\u0441\u043a\u043e\u0432\u044b\u0445 \u043a\u0440\u044e\u0447\u043a\u0430 \u0432\u043d\u0443\u0442\u0440\u0438 \u0441\u0430\u043c\u043e\u0433\u043e PHP:<\/p>\n<ol>\n<li>\n<p>\u0412\u044b\u043a\u043b\u044e\u0447\u0438\u0442\u044c <code>session.upload_progress.enabled = 0<\/code> (\u0437\u0430\u043a\u0440\u044b\u0432\u0430\u0435\u0442 \u043e\u0441\u043d\u043e\u0432\u043d\u043e\u0439 \u0432\u0435\u043a\u0442\u043e\u0440 CVE-2026-109619).   <\/p>\n<\/li>\n<li>\n<p>\u0412\u044b\u0441\u0442\u0430\u0432\u0438\u0442\u044c <code>memory_limit = -1<\/code>. \u0417\u0432\u0443\u0447\u0438\u0442 \u043a\u043e\u043d\u0442\u0440\u0438\u043d\u0442\u0443\u0438\u0442\u0438\u0432\u043d\u043e, \u043d\u043e \u0438\u043c\u0435\u043d\u043d\u043e \u044d\u0442\u043e \u0440\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u0443\u044e\u0442 \u0441\u0430\u043c\u0438 \u0430\u0432\u0442\u043e\u0440\u044b PHP \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u043c\u0438\u0442\u0438\u0433\u0430\u0446\u0438\u0438 CVE-2026-109618! \u0415\u0441\u043b\u0438 <code>memory_limit<\/code> \u0440\u0430\u0432\u0435\u043d <code>-1<\/code>, \u0432\u043d\u0443\u0442\u0440\u0435\u043d\u043d\u0438\u0439 OOM-\u043e\u0431\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a Zend Engine \u0441 <code>longjmp()<\/code> <strong>\u043d\u0438\u043a\u043e\u0433\u0434\u0430 \u043d\u0435 \u0432\u044b\u0437\u044b\u0432\u0430\u0435\u0442\u0441\u044f<\/strong>. \u0410 \u0447\u0442\u043e\u0431\u044b \u043e\u0434\u0438\u043d \u0437\u0430\u043f\u0440\u043e\u0441 \u043d\u0435 \u043f\u043e\u043b\u043e\u0436\u0438\u043b \u0432\u0435\u0441\u044c \u0445\u043e\u0441\u0442-\u0441\u0435\u0440\u0432\u0435\u0440 \u043f\u043e \u043f\u0430\u043c\u044f\u0442\u0438, \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u044c \u0437\u0430 \u043f\u0430\u043c\u044f\u0442\u044c\u044e \u043c\u044b \u043f\u0435\u0440\u0435\u043d\u043e\u0441\u0438\u043c \u043d\u0430 \u0443\u0440\u043e\u0432\u0435\u043d\u044c \u044f\u0434\u0440\u0430 Linux (cgroups \u0432 Docker) \u0438 \u043b\u0438\u043c\u0438\u0442\u043e\u0432 \u0442\u0435\u043b\u0430 \u0437\u0430\u043f\u0440\u043e\u0441\u0430 \u0432 Varnish\/Apache.   <\/p>\n<\/li>\n<\/ol>\n<p>\u042f \u0432\u044b\u043d\u0435\u0441 \u0432\u0441\u0435 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u0438 \u0432 \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u044b\u0439 \u0444\u0430\u0439\u043b <code>etc\/php.d\/cve-2026.ini<\/code>:   <\/p>\n<pre><code class=\"lisp\">; === \u0417\u0430\u0449\u0438\u0442\u0430 \u043e\u0442 PHP2Shell (CVE-2026-109618 \/ CVE-2026-109619) ===; 1. \u041e\u0442\u043a\u043b\u044e\u0447\u0430\u0435\u043c \u043e\u0442\u0441\u043b\u0435\u0436\u0438\u0432\u0430\u043d\u0438\u0435 \u043f\u0440\u043e\u0433\u0440\u0435\u0441\u0441\u0430 \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0438 \u0432 \u0441\u0435\u0441\u0441\u0438\u044f\u0445 (\u0431\u043b\u043e\u043a\u0438\u0440\u0443\u0435\u0442 \u0432\u0435\u043a\u0442\u043e\u0440 CVE-2026-109619)session.upload_progress.enabled = 0; 2. \u041e\u0442\u043a\u043b\u044e\u0447\u0430\u0435\u043c \u0432\u043d\u0443\u0442\u0440\u0435\u043d\u043d\u0438\u0439 OOM-\u043e\u0431\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a Zend Engine (\u0431\u043b\u043e\u043a\u0438\u0440\u0443\u0435\u0442 \u0432\u0435\u043a\u0442\u043e\u0440 CVE-2026-109618); \u041a\u043e\u043d\u0442\u0440\u043e\u043b\u044c \u043f\u0430\u043c\u044f\u0442\u0438 \u043f\u0435\u0440\u0435\u0434\u0430\u0435\u0442\u0441\u044f \u043d\u0430 \u0443\u0440\u043e\u0432\u0435\u043d\u044c \u043b\u0438\u043c\u0438\u0442\u043e\u0432 \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u0430 Docker (cgroups)memory_limit = -1; 3. \u041e\u0433\u0440\u0430\u043d\u0438\u0447\u0438\u0432\u0430\u0435\u043c \u0440\u0430\u0437\u043c\u0435\u0440 \u0432\u0445\u043e\u0434\u044f\u0449\u0438\u0445 POST-\u0434\u0430\u043d\u043d\u044b\u0445 \u0438 \u0437\u0430\u0433\u0440\u0443\u0436\u0430\u0435\u043c\u044b\u0445 \u0444\u0430\u0439\u043b\u043e\u0432post_max_size = 32Mupload_max_filesize = 32M; 4. \u0417\u0430\u0449\u0438\u0442\u0430 \u043f\u0430\u0440\u0441\u0435\u0440\u0430 \u0432\u0445\u043e\u0434\u044f\u0449\u0438\u0445 \u0434\u0430\u043d\u043d\u044b\u0445 \u043e\u0442 \u043f\u0435\u0440\u0435\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u0438 \u043c\u0435\u0434\u043b\u0435\u043d\u043d\u044b\u0445 \u0430\u0442\u0430\u043amax_input_vars = 1000max_file_uploads = 10max_input_time = 30max_execution_time = 30<\/code><div class=\"code-explainer\"><a href=\"https:\/\/sourcecraft.dev\/\" class=\"tm-button code-explainer__link\" style=\"visibility: hidden;\"><span class=\"sc-logo-wrapper\"><\/span><\/a><\/div><\/pre>\n<h3>\u0422\u043e\u043d\u043a\u043e\u0441\u0442\u044c \u0441 \u0430\u043b\u0444\u0430\u0432\u0438\u0442\u043d\u044b\u043c \u043f\u043e\u0440\u044f\u0434\u043a\u043e\u043c \u0432 php.d<\/h3>\n<p>\u0412 \u043d\u0430\u0448\u0438\u0445 \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u0430\u0445 \u0443\u0436\u0435 \u043c\u043e\u043d\u0442\u0438\u0440\u043e\u0432\u0430\u043b\u0438\u0441\u044c \u043e\u0441\u043d\u043e\u0432\u043d\u044b\u0435 \u043a\u043e\u043d\u0444\u0438\u0433\u0438 \u043f\u0440\u043e\u0435\u043a\u0442\u043e\u0432: <code>\/etc\/opt\/remi\/php56\/php.d\/php-apache_1.ini<\/code> \u0438 <code>php-apache_2.ini<\/code>, \u0432\u043d\u0443\u0442\u0440\u0438 \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u0431\u044b\u043b\u043e \u0436\u0435\u0441\u0442\u043a\u043e \u043f\u0440\u043e\u043f\u0438\u0441\u0430\u043d\u043e <code>memory_limit = 512M<\/code>.   <\/p>\n<p>PHP \u043f\u0430\u0440\u0441\u0438\u0442 \u0434\u0438\u0440\u0435\u043a\u0442\u043e\u0440\u0438\u044e <code>php.d<\/code> \u0441\u0442\u0440\u043e\u0433\u043e \u0432 \u0430\u043b\u0444\u0430\u0432\u0438\u0442\u043d\u043e\u043c \u043f\u043e\u0440\u044f\u0434\u043a\u0435 (ASCII). \u0415\u0441\u043b\u0438 \u0431\u044b \u044f \u043f\u0440\u0438\u043c\u043e\u043d\u0442\u0438\u0440\u043e\u0432\u0430\u043b \u043f\u0430\u0442\u0447 \u043a\u0430\u043a <code>\/etc\/opt\/remi\/php56\/php.d\/cve-2026.ini<\/code>, \u043e\u043d \u0431\u044b \u043f\u0440\u043e\u0447\u0438\u0442\u0430\u043b\u0441\u044f <strong>\u0440\u0430\u043d\u044c\u0448\u0435<\/strong> \u0444\u0430\u0439\u043b\u0430 \u043d\u0430 \u0431\u0443\u043a\u0432\u0443 <code>p<\/code>, \u0438 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 <code>memory_limit = -1<\/code> \u0442\u0443\u0442 \u0436\u0435 \u043f\u0435\u0440\u0435\u0437\u0430\u043f\u0438\u0441\u0430\u043b\u0430\u0441\u044c \u0431\u044b \u043e\u0431\u0440\u0430\u0442\u043d\u043e \u043d\u0430 <code>512M<\/code>! \u041a\u0440\u043e\u043c\u0435 \u0442\u043e\u0433\u043e, \u044f \u043d\u0435 \u0445\u043e\u0442\u0435\u043b \u0443\u0431\u0438\u0440\u0430\u0442\u044c \u043b\u0438\u043c\u0438\u0442\u044b \u043f\u0430\u043c\u044f\u0442\u0438 \u0443 CLI-\u0434\u0435\u043c\u043e\u043d\u043e\u0432, \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u044b \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u0441\u043e\u0431\u0438\u0440\u0430\u044e\u0442\u0441\u044f \u0438\u0437 \u0442\u043e\u0433\u043e \u0436\u0435 \u043e\u0431\u0440\u0430\u0437\u0430.<\/p>\n<p>\u0420\u0435\u0448\u0435\u043d\u0438\u0435 \u043f\u0440\u043e\u0441\u0442\u043e\u0435 &#8212; \u043c\u043e\u043d\u0442\u0438\u0440\u0443\u0435\u043c \u0444\u0430\u0439\u043b \u0432 \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u044b \u0432\u0435\u0431-\u0441\u0435\u0440\u0432\u0435\u0440\u043e\u0432 \u043f\u0440\u0435\u0444\u0438\u043a\u0441\u043e\u043c <code>zz-<\/code>:   <\/p>\n<pre><code class=\"yaml\">services:  apache_1:    volumes:      - .\/etc\/php.d\/00-msmtp.ini:\/etc\/opt\/remi\/php56\/php.d\/00-msmtp.ini:ro      - .\/etc\/php.d\/php-apache_1.ini:\/etc\/opt\/remi\/php56\/php.d\/php-apache_1.ini:ro      # \u041f\u0430\u0442\u0447 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0438 \u043f\u0440\u043e\u0442\u0438\u0432 CVE-2026-109618 \/ CVE-2026-109619 (\u0437\u0430\u0433\u0440\u0443\u0436\u0430\u0435\u0442\u0441\u044f \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u043c)      - .\/etc\/php.d\/cve-2026.ini:\/etc\/opt\/remi\/php56\/php.d\/zz-cve-2026.ini:ro<\/code><div class=\"code-explainer\"><a href=\"https:\/\/sourcecraft.dev\/\" class=\"tm-button code-explainer__link\" style=\"visibility: hidden;\"><span class=\"sc-logo-wrapper icon-only\"><\/span><\/a><\/div><\/pre>\n<p>\u041f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u043c \u0432\u043d\u0443\u0442\u0440\u0438 \u0437\u0430\u043f\u0443\u0449\u0435\u043d\u043d\u043e\u0433\u043e \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u0430:<\/p>\n<pre><code class=\"bash\">docker compose exec apache_1 php -i | grep -E \"memory_limit|upload_progress.enabled|post_max_size|zz-cve-2026\"\/etc\/opt\/remi\/php56\/php.d\/zz-cve-2026.inimemory_limit =&gt; -1 =&gt; -1post_max_size =&gt; 32M =&gt; 32Msession.upload_progress.enabled =&gt; Off =&gt; Off<\/code><div class=\"code-explainer\"><a href=\"https:\/\/sourcecraft.dev\/\" class=\"tm-button code-explainer__link\" style=\"visibility: hidden;\"><span class=\"sc-logo-wrapper icon-only\"><\/span><\/a><\/div><\/pre>\n<h4>\u0420\u0443\u0431\u0435\u0436 2: \u0418\u0437\u043e\u043b\u044f\u0446\u0438\u044f \u043f\u0430\u043c\u044f\u0442\u0438 \u0432 Docker \u0438 \u00ab\u043e\u0434\u043d\u043e\u0440\u0430\u0437\u043e\u0432\u044b\u0435\u00bb \u0432\u043e\u0440\u043a\u0435\u0440\u044b \u0432 Apache<\/h4>\n<p>\u0420\u0430\u0437 \u043c\u044b \u043f\u043e\u0441\u0442\u0430\u0432\u0438\u043b\u0438 <code>memory_limit = -1<\/code> \u0432 PHP, \u043c\u044b \u043e\u0431\u044f\u0437\u0430\u043d\u044b \u0437\u0430\u0436\u0430\u0442\u044c \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u044b \u0432\u0435\u0431-\u0441\u0435\u0440\u0432\u0435\u0440\u043e\u0432 \u043d\u0430 \u0443\u0440\u043e\u0432\u043d\u0435 <code>docker-compose.yml<\/code>. \u0422\u0435\u043f\u0435\u0440\u044c, \u0435\u0441\u043b\u0438 \u043a\u0442\u043e-\u0442\u043e \u0447\u0443\u0434\u043e\u043c \u0432\u044b\u0437\u043e\u0432\u0435\u0442 \u0443\u0442\u0435\u0447\u043a\u0443 \u043f\u0430\u043c\u044f\u0442\u0438, \u0442\u043e \u043f\u0440\u043e\u0446\u0435\u0441\u0441 Apache \u043f\u0440\u0438\u0441\u0442\u0440\u0435\u043b\u0438\u0442 OOM-killer \u044f\u0434\u0440\u0430 Linux (\u0447\u0435\u0440\u0435\u0437 <code> SIGKILL<\/code>), \u043d\u0435 \u0432\u044b\u0437\u044b\u0432\u0430\u044f \u043d\u0438\u043a\u0430\u043a\u0438\u0445 \u0434\u0435\u0441\u0442\u0440\u0443\u043a\u0442\u043e\u0440\u043e\u0432 PHP:   <\/p>\n<pre><code class=\"yaml\">  apache_1:    deploy:      resources:        limits:          memory: 4G          cpus: '2.0'<\/code><div class=\"code-explainer\"><a href=\"https:\/\/sourcecraft.dev\/\" class=\"tm-button code-explainer__link\" style=\"visibility: hidden;\"><span class=\"sc-logo-wrapper icon-only\"><\/span><\/a><\/div><\/pre>\n<p>\u0414\u0430\u043b\u0435\u0435 \u043f\u0435\u0440\u0435\u0445\u043e\u0434\u0438\u043c \u043a Apache (<code>mpm_prefork<\/code>) \u0438 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0435 \u00ab\u0433\u0440\u044f\u0437\u043d\u043e\u0433\u043e\u00bb \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u044f \u043f\u0430\u043c\u044f\u0442\u0438 \u043c\u0435\u0436\u0434\u0443 \u0437\u0430\u043f\u0440\u043e\u0441\u0430\u043c\u0438 (CVE-2026-109619). \u0421\u0430\u043c\u044b\u0439 \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0441\u043f\u043e\u0441\u043e\u0431 \u0433\u0430\u0440\u0430\u043d\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c, \u0447\u0442\u043e \u043d\u0438 \u043e\u0434\u0438\u043d \u0437\u0430\u043f\u0440\u043e\u0441 \u043d\u0438\u043a\u043e\u0433\u0434\u0430 \u043d\u0435 \u0443\u0432\u0438\u0434\u0438\u0442 \u043f\u0430\u043c\u044f\u0442\u044c \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0435\u0433\u043e \u0437\u0430\u043f\u0440\u043e\u0441\u0430 \u0432 <code>mod_php<\/code> \u2014 \u0443\u0431\u0438\u0432\u0430\u0442\u044c \u0434\u043e\u0447\u0435\u0440\u043d\u0438\u0439 \u043f\u0440\u043e\u0446\u0435\u0441\u0441 Apache \u0441\u0440\u0430\u0437\u0443 \u043f\u043e\u0441\u043b\u0435 \u0437\u0430\u0432\u0435\u0440\u0448\u0435\u043d\u0438\u044f \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u044f. \u0412 <code>mpm_tuning.conf<\/code> \u043c\u0435\u043d\u044f\u0435\u043c <code>MaxConnectionsPerChild<\/code> \u0441 <code>1000<\/code> \u043d\u0430 <code>1<\/code>:   <\/p>\n<pre><code class=\"ruby\">&lt;IfModule mpm_prefork_module&gt;    StartServers             16    MinSpareServers          16    MaxSpareServers          64    ServerLimit              1024    MaxRequestWorkers        1024    MaxConnectionsPerChild   1&lt;\/IfModule&gt;<\/code><div class=\"code-explainer\"><a href=\"https:\/\/sourcecraft.dev\/\" class=\"tm-button code-explainer__link\" style=\"visibility: hidden;\"><span class=\"sc-logo-wrapper icon-only\"><\/span><\/a><\/div><\/pre>\n<p>\u0414\u0430, \u044d\u0442\u043e \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u0442 \u043d\u0435\u0431\u043e\u043b\u044c\u0448\u043e\u0439 \u043e\u0432\u0435\u0440\u0445\u0435\u0434 \u043d\u0430 <code>fork()<\/code> \u0432 \u044f\u0434\u0440\u0435 \u041e\u0421, \u043d\u043e \u043d\u0430 \u0441\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u043c Linux \u0441 Copy-on-Write \u0438 \u043f\u0440\u043e\u0433\u0440\u0435\u0442\u044b\u043c \u043f\u0443\u043b\u043e\u043c <code>MinSpareServers 16<\/code> \/ <code>MaxSpareServers 64<\/code> \u043d\u0430\u0433\u0440\u0443\u0437\u043a\u0430 \u043d\u0430 CPU \u0432\u044b\u0440\u043e\u0441\u043b\u0430 \u0432 \u043f\u0440\u0435\u0434\u0435\u043b\u0430\u0445 \u0441\u0442\u0430\u0442\u0438\u0441\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0439 \u043f\u043e\u0433\u0440\u0435\u0448\u043d\u043e\u0441\u0442\u0438, \u0437\u0430\u0442\u043e \u0432\u0435\u043a\u0442\u043e\u0440 \u043f\u0435\u0440\u0435\u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f \u0438\u0441\u043f\u043e\u0440\u0447\u0435\u043d\u043d\u043e\u0439 \u043f\u0430\u043c\u044f\u0442\u0438 \u0432\u043e\u0440\u043a\u0435\u0440\u0430 \u0443\u043d\u0438\u0447\u0442\u043e\u0436\u0435\u043d \u0444\u0438\u0437\u0438\u0447\u0435\u0441\u043a\u0438.<\/p>\n<p>\u0422\u0430\u043c \u0436\u0435, \u0432 \u043a\u043e\u043d\u0444\u0438\u0433\u0430\u0445 \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u044b\u0445 \u0445\u043e\u0441\u0442\u043e\u0432 Apache, \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u043c \u0436\u0435\u0441\u0442\u043a\u043e\u0435 \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u0435 \u043d\u0430 \u0440\u0430\u0437\u043c\u0435\u0440 \u0442\u0435\u043b\u0430 \u0437\u0430\u043f\u0440\u043e\u0441\u0430 <code>LimitRequestBody 33554432<\/code> (32 \u041c\u0411) \u0432 \u043a\u0430\u0436\u0434\u044b\u0439 \u0431\u043b\u043e\u043a <code>&lt;Directory&gt;<\/code>:   <\/p>\n<pre><code class=\"ruby\">&lt;Directory \/var\/www\/apache_1\/htdocs&gt;    Options FollowSymLinks Indexes    AllowOverride All    Require all granted    LimitRequestBody 33554432&lt;\/Directory&gt;<\/code><div class=\"code-explainer\"><a href=\"https:\/\/sourcecraft.dev\/\" class=\"tm-button code-explainer__link\" style=\"visibility: hidden;\"><span class=\"sc-logo-wrapper icon-only\"><\/span><\/a><\/div><\/pre>\n<p>\u0417\u0430\u0447\u0435\u043c \u044d\u0442\u043e \u043d\u0443\u0436\u043d\u043e, \u0435\u0441\u043b\u0438 \u0432\u043f\u0435\u0440\u0435\u0434\u0438 \u0441\u0442\u043e\u0438\u0442 Varnish?  \u0410 \u0437\u0430\u0442\u0435\u043c, \u0447\u0442\u043e \u0432 HTTP\/1.1 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u0435\u0442 <code>Transfer-Encoding: chunked<\/code>, \u0433\u0434\u0435 \u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043e\u043a <code>Content-Length<\/code> \u043e\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0443\u0435\u0442, \u0438 Apache \u0431\u0443\u0434\u0435\u0442 \u0441\u0447\u0438\u0442\u0430\u0442\u044c \u0440\u0435\u0430\u043b\u044c\u043d\u044b\u0435 \u043f\u0440\u043e\u0447\u0438\u0442\u0430\u043d\u043d\u044b\u0435 \u0431\u0430\u0439\u0442\u044b \u0438\u0437 \u043f\u043e\u0442\u043e\u043a\u0430.<\/p>\n<h4>\u0420\u0443\u0431\u0435\u0436 3: \u041e\u0442\u0441\u0435\u043a\u0430\u0435\u043c \u0430\u0442\u0430\u043a\u0438 \u043d\u0430 \u0434\u0430\u043b\u044c\u043d\u0438\u0445 \u043f\u043e\u0434\u0441\u0442\u0443\u043f\u0430\u0445 \u0432 Varnish VCL<\/h4>\n<p>\u0417\u0430\u0447\u0435\u043c \u0432\u043e\u043e\u0431\u0449\u0435 \u043f\u0443\u0441\u043a\u0430\u0442\u044c \u043f\u043e\u0434\u043e\u0437\u0440\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0435 \u0437\u0430\u043f\u0440\u043e\u0441\u044b \u0432 \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u044b \u0441 Apache, \u0435\u0441\u043b\u0438 \u043f\u0435\u0440\u0435\u0434 \u043d\u0438\u043c\u0438 \u0441\u0442\u043e\u0438\u0442 Varnish? \u041f\u043e\u0441\u043a\u043e\u043b\u044c\u043a\u0443 \u0447\u0435\u0440\u0435\u0437 \u043d\u0430\u0448 Varnish \u043f\u0440\u043e\u0445\u043e\u0434\u044f\u0442 \u0437\u0430\u043f\u0440\u043e\u0441\u044b \u043a\u0430\u043a \u043a Node.js, \u0442\u0430\u043a \u0438 \u043a PHP-\u0431\u044d\u043a\u0435\u043d\u0434\u0430\u043c (<code>apache_1<\/code> \u0438 <code>apache_2<\/code>), \u044f \u0434\u043e\u0431\u0430\u0432\u0438\u043b \u0432 <code>sub vcl_recv<\/code> \u0442\u043e\u0447\u0435\u0447\u043d\u043e\u0435 \u043f\u0440\u0430\u0432\u0438\u043b\u043e \u0442\u043e\u043b\u044c\u043a\u043e \u0434\u043b\u044f PHP-\u0431\u044d\u043a\u0435\u043d\u0434\u043e\u0432:   <\/p>\n<p>\u0424\u0440\u0430\u0433\u043c\u0435\u043d\u0442 \u043a\u043e\u0434\u0430<\/p>\n<pre><code class=\"cpp\">    # --- \u0417\u0410\u0429\u0418\u0422\u0410 PHP-\u0411\u042d\u041a\u0415\u041d\u0414\u041e\u0412 \u041e\u0422 PHP2Shell (CVE-2026-109618 \/ CVE-2026-109619) ---    if (req.backend_hint == apache_1 || req.backend_hint == apache_1) {        # 1. \u0411\u043b\u043e\u043a\u0438\u0440\u0443\u0435\u043c \u043f\u043e\u043f\u044b\u0442\u043a\u0438 \u043c\u0430\u043d\u0438\u043f\u0443\u043b\u044f\u0446\u0438\u0438 \u0433\u043b\u043e\u0431\u0430\u043b\u044c\u043d\u044b\u043c \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0435\u043c \u0447\u0435\u0440\u0435\u0437 upload progress        if (req.http.Cookie ~ \"PHP_SESSION_UPLOAD_PROGRESS\" || req.url ~ \"PHP_SESSION_UPLOAD_PROGRESS\") {            return (synth(403, \"Forbidden\"));        }        # 2. \u041e\u0442\u0441\u0435\u043a\u0430\u0435\u043c POST-\u0437\u0430\u043f\u0440\u043e\u0441\u044b \u0441\u0432\u044b\u0448\u0435 32 \u041c\u0411 (33554432 \u0431\u0430\u0439\u0442) \u0434\u043e \u043f\u043e\u043f\u0430\u0434\u0430\u043d\u0438\u044f \u0432 Apache\/PHP        if (req.method == \"POST\" &amp;&amp; std.integer(req.http.Content-Length, 0) &gt; 33554432) {            return (synth(413, \"Request Entity Too Large\"));        }    }<\/code><div class=\"code-explainer\"><a href=\"https:\/\/sourcecraft.dev\/\" class=\"tm-button code-explainer__link\" style=\"visibility: hidden;\"><span class=\"sc-logo-wrapper icon-only\"><\/span><\/a><\/div><\/pre>\n<p>\u041a\u0430\u0437\u0430\u043b\u043e\u0441\u044c \u0431\u044b, \u0432\u0441\u0451 \u0433\u043e\u0442\u043e\u0432\u043e. \u041d\u043e \u043a\u043e\u0433\u0434\u0430 \u044f \u043d\u0430\u0447\u0430\u043b \u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044e \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e <code>curl<\/code>, \u0432\u0441\u043a\u0440\u044b\u043b\u0438\u0441\u044c \u0434\u0432\u0430 \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u0435\u0439\u0448\u0438\u0445 \u0438\u043d\u0444\u0440\u0430\u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u043d\u044b\u0445 \u043d\u044e\u0430\u043d\u0441\u0430.<\/p>\n<h3>\u0422\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u0431\u043e\u0435\u043c \u0438 \u0434\u0432\u0430 \u043d\u0435\u043e\u0447\u0435\u0432\u0438\u0434\u043d\u044b\u0445 \u0441\u044e\u0440\u043f\u0440\u0438\u0437\u0430<\/h3>\n<p>\u041f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u043c \u0444\u0438\u043b\u044c\u0442\u0440\u0430\u0446\u0438\u044e <code>PHP_SESSION_UPLOAD_PROGRESS<\/code>:<\/p>\n<pre><code class=\"bash\"># \u0417\u0430\u043f\u0440\u043e\u0441 \u043a PHP-\u0431\u044d\u043a\u0435\u043d\u0434\u0443:curl -k -I -s --connect-timeout 3 --max-time 5 https:\/\/172.19.0.101\/ \\  -H \"Host: host_apache_1.com\" \\  -H \"Cookie: PHP_SESSION_UPLOAD_PROGRESS=test\" | head -n 5HTTP\/1.1 403 ForbiddenServer: Varnish# \u0422\u043e\u0442 \u0436\u0435 \u0437\u0430\u043f\u0440\u043e\u0441 \u043a Node.js-\u0431\u044d\u043a\u0435\u043d\u0434\u0443:curl -k -I -s --connect-timeout 3 --max-time 5 https:\/\/172.19.0.101\/en \\  -H \"Host: host_node.com\" \\  -H \"Cookie: PHP_SESSION_UPLOAD_PROGRESS=test\" | head -n 5HTTP\/1.1 302 Found<\/code><div class=\"code-explainer\"><a href=\"https:\/\/sourcecraft.dev\/\" class=\"tm-button code-explainer__link\" style=\"visibility: hidden;\"><span class=\"sc-logo-wrapper icon-only\"><\/span><\/a><\/div><\/pre>\n<p>\u041e\u0442\u043b\u0438\u0447\u043d\u043e, \u0441\u0442\u0430\u0442\u0438\u043a\u0430 \u0438 PHP \u043f\u0440\u0438\u043a\u0440\u044b\u0442\u044b, Node.js \u043d\u0435 \u0437\u0430\u0434\u0435\u0442.<\/p>\n<h4>\u0421\u044e\u0440\u043f\u0440\u0438\u0437 \u21161: \u041b\u043e\u0432\u0443\u0448\u043a\u0430 HTTP Keep-Alive \u0432 Varnish \u043f\u0440\u0438 413 Request Entity Too Large<\/h4>\n<p>\u041f\u0440\u043e\u0431\u0443\u0435\u043c \u043f\u0440\u043e\u0432\u0435\u0440\u0438\u0442\u044c \u0431\u043b\u043e\u043a\u0438\u0440\u043e\u0432\u043a\u0443 \u0433\u0438\u0433\u0430\u043d\u0442\u0441\u043a\u043e\u0433\u043e POST-\u0437\u0430\u043f\u0440\u043e\u0441\u0430 (32 \u041c\u0411 + 1 \u0431\u0430\u0439\u0442 = <code>33554433<\/code>) \u0447\u0435\u0440\u0435\u0437 Varnish, \u043d\u0435 \u043f\u0435\u0440\u0435\u0434\u0430\u0432\u0430\u044f \u0441\u0430\u043c\u043e \u0442\u0435\u043b\u043e:<\/p>\n<pre><code class=\"bash\">curl -k -i -s --connect-timeout 3 --max-time 5 -X POST https:\/\/172.19.0.101\/ \\  -H \"Host: host_apache_1.com\" \\  -H \"Content-Length: 33554433\" \\  -d \"\"<\/code><div class=\"code-explainer\"><a href=\"https:\/\/sourcecraft.dev\/\" class=\"tm-button code-explainer__link\" style=\"visibility: hidden;\"><span class=\"sc-logo-wrapper icon-only\"><\/span><\/a><\/div><\/pre>\n<p>\u0418&#8230; \u0432 \u043e\u0442\u0432\u0435\u0442 \u0442\u0438\u0448\u0438\u043d\u0430! \u0427\u0435\u0440\u0435\u0437 5 \u0441\u0435\u043a\u0443\u043d\u0434 <code>curl<\/code> \u043e\u0442\u0432\u0430\u043b\u0438\u0432\u0430\u0435\u0442\u0441\u044f \u043f\u043e <code>--max-time 5<\/code> \u0441 \u043f\u0443\u0441\u0442\u044b\u043c \u0432\u044b\u0432\u043e\u0434\u043e\u043c.<\/p>\n<p>\u041f\u0440\u043e\u0431\u0443\u0435\u043c \u043f\u043e \u0434\u0440\u0443\u0433\u043e\u043c\u0443:<\/p>\n<pre><code class=\"bash\">curl -k -i -s --connect-timeout 3 --max-time 5 -X POST https:\/\/172.19.0.101\/ \\ -H \"Host: host_apache_1.com\" \\ -H \"Content-Length: 33554433\" \\ -H \"Connection: close\" \\ -d \"\" | head -n 10HTTP\/1.1 413 Request Entity Too LargeDate: Wed, 21 Oct 2026 22:02:30 GMTServer: VarnishX-Varnish: 3703085Content-Type: text\/html; charset=utf-8Retry-After: 5Content-Length: 296Connection: close<\/code><div class=\"code-explainer\"><a href=\"https:\/\/sourcecraft.dev\/\" class=\"tm-button code-explainer__link\" style=\"visibility: hidden;\"><span class=\"sc-logo-wrapper icon-only\"><\/span><\/a><\/div><\/pre>\n<p>\u0430 \u0442\u0430\u043a &#8212; \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442.<\/p>\n<p><strong>\u0427\u0442\u043e \u043f\u0440\u043e\u0438\u0437\u043e\u0448\u043b\u043e?<\/strong><\/p>\n<p>\u041f\u043e \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u0443 HTTP\/1.1 \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u0435 \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f <code>keep-alive<\/code>. \u041a\u043e\u0433\u0434\u0430 <code>curl<\/code> \u043f\u0440\u0438\u0441\u043b\u0430\u043b \u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043e\u043a <code>Content-Length: 33554433<\/code>, \u043d\u043e \u043f\u0435\u0440\u0435\u0434\u0430\u043b <code>0<\/code> \u0431\u0430\u0439\u0442 \u0442\u0435\u043b\u0430 (<code>-d \"\"<\/code>), Varnish \u0432 <code>vcl_recv<\/code> \u043c\u0433\u043d\u043e\u0432\u0435\u043d\u043d\u043e \u043f\u0435\u0440\u0435\u0448\u0435\u043b \u0432 <code>synth(413)<\/code>. \u041e\u0434\u043d\u0430\u043a\u043e, \u0447\u0442\u043e\u0431\u044b \u0441\u043e\u0445\u0440\u0430\u043d\u0438\u0442\u044c <code>keep-alive<\/code> \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u0435 \u0447\u0438\u0441\u0442\u044b\u043c \u0434\u043b\u044f \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u0433\u043e HTTP-\u0437\u0430\u043f\u0440\u043e\u0441\u0430, Varnish \u043f\u044b\u0442\u0430\u0435\u0442\u0441\u044f \u0441\u043d\u0430\u0447\u0430\u043b\u0430 \u00ab\u0441\u043b\u0438\u0442\u044c \u0432 <code>\/dev\/null<\/code>\u00bb (drain) \u0442\u0435 \u0441\u0430\u043c\u044b\u0435 \u043e\u0431\u0435\u0449\u0430\u043d\u043d\u044b\u0435 33 \u041c\u0411 \u0438\u0437 \u043a\u043b\u0438\u0435\u043d\u0442\u0441\u043a\u043e\u0433\u043e \u0441\u043e\u043a\u0435\u0442\u0430! \u0412 \u0438\u0442\u043e\u0433\u0435 Varnish \u0436\u0434\u0435\u0442 33 \u041c\u0411 \u043e\u0442 <code>curl<\/code>, \u0430 <code>curl<\/code> \u0436\u0434\u0435\u0442 \u043e\u0442\u0432\u0435\u0442 \u043e\u0442 Varnish.<\/p>\n<p>\u0411\u043e\u043b\u0435\u0435 \u0442\u043e\u0433\u043e, \u0441 \u0442\u043e\u0447\u043a\u0438 \u0437\u0440\u0435\u043d\u0438\u044f \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u0438 \u044d\u0442\u043e \u043e\u0437\u043d\u0430\u0447\u0430\u0435\u0442, \u0447\u0442\u043e \u0430\u0442\u0430\u043a\u0443\u044e\u0449\u0438\u0439 \u043c\u043e\u0436\u0435\u0442 \u043f\u043e\u0434\u0432\u0435\u0448\u0438\u0432\u0430\u0442\u044c \u0432\u043e\u0440\u043a\u0435\u0440\u044b Varnish \u0432 \u043e\u0436\u0438\u0434\u0430\u043d\u0438\u0438 \u0442\u0435\u043b\u0430 \u0437\u0430\u043f\u0440\u043e\u0441\u0430. \u041b\u0435\u0447\u0438\u0442\u0441\u044f \u044d\u0442\u043e \u043f\u0440\u0438\u043d\u0443\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u043c \u0437\u0430\u043a\u0440\u044b\u0442\u0438\u0435\u043c \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u044f (<code>Connection: close<\/code>) \u0432 <code>sub vcl_synth<\/code> \u0434\u043b\u044f \u043a\u043e\u0434\u043e\u0432 <code>403<\/code> \u0438 <code>413<\/code>:<\/p>\n<p>\u0424\u0440\u0430\u0433\u043c\u0435\u043d\u0442 \u043a\u043e\u0434\u0430<\/p>\n<pre><code class=\"cpp\">sub vcl_synth {    # \u041f\u0440\u0438\u043d\u0443\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u0440\u0430\u0437\u0440\u044b\u0432\u0430\u0435\u043c \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u0435 \u043f\u0440\u0438 \u0431\u043b\u043e\u043a\u0438\u0440\u043e\u0432\u043a\u0435 \u0430\u0442\u0430\u043a (\u043d\u0435 \u0432\u044b\u0447\u0438\u0442\u044b\u0432\u0430\u0435\u043c \u0442\u0435\u043b\u043e POST-\u0437\u0430\u043f\u0440\u043e\u0441\u0430)    if (resp.status == 403 || resp.status == 413) {        set resp.http.Connection = \"close\";        return (deliver);    }    ...}<\/code><div class=\"code-explainer\"><a href=\"https:\/\/sourcecraft.dev\/\" class=\"tm-button code-explainer__link\" style=\"visibility: hidden;\"><span class=\"sc-logo-wrapper icon-only\"><\/span><\/a><\/div><\/pre>\n<p>\u041f\u0435\u0440\u0435\u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u043c Varnish, \u043f\u043e\u0432\u0442\u043e\u0440\u044f\u0435\u043c \u0442\u0435\u0441\u0442 \u0434\u0430\u0436\u0435 \u0431\u0435\u0437 \u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043a\u0430 <code>Connection: close<\/code> \u0441\u043e \u0441\u0442\u043e\u0440\u043e\u043d\u044b \u043a\u043b\u0438\u0435\u043d\u0442\u0430 &#8212; \u0438 \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u043c \u043c\u0433\u043d\u043e\u0432\u0435\u043d\u043d\u044b\u0439 \u043e\u0442\u043b\u0443\u043f:<\/p>\n<pre><code class=\"bash\">curl -k -i -s --connect-timeout 3 --max-time 5 -X POST https:\/\/172.19.0.101\/ \\ -H \"Host: host_apache_1.com\" -H \"Content-Length: 33554433\" -d \"\"HTTP\/1.1 413 Request Entity Too LargeDate: Wed, 21 Oct 2026 22:05:47 GMTServer: VarnishX-Varnish: 1671182Connection: closeContent-Length: 0<\/code><div class=\"code-explainer\"><a href=\"https:\/\/sourcecraft.dev\/\" class=\"tm-button code-explainer__link\" style=\"visibility: hidden;\"><span class=\"sc-logo-wrapper icon-only\"><\/span><\/a><\/div><\/pre>\n<h4>\u0421\u044e\u0440\u043f\u0440\u0438\u0437 \u21162: \u041f\u043e\u0447\u0435\u043c\u0443 \u043f\u0440\u044f\u043c\u043e\u0439 \u0437\u0430\u043f\u0440\u043e\u0441 \u043a Apache \u0441 mod_php \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442 200 OK \u0432\u043c\u0435\u0441\u0442\u043e 413?<\/h4>\n<p>\u041d\u0430\u043f\u043e\u0441\u043b\u0435\u0434\u043e\u043a \u044f \u0440\u0435\u0448\u0438\u043b \u043f\u0440\u043e\u0432\u0435\u0440\u0438\u0442\u044c, \u043a\u0430\u043a \u043f\u043e\u0432\u0435\u0434\u0443\u0442 \u0441\u0435\u0431\u044f \u0441\u0430\u043c\u0438 \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u044b Apache (<code>172.19.0.105<\/code> \u0438 <code>172.19.0.109<\/code>), \u0435\u0441\u043b\u0438 \u043e\u0431\u0440\u0430\u0442\u0438\u0442\u044c\u0441\u044f \u043a \u043d\u0438\u043c \u043d\u0430\u043f\u0440\u044f\u043c\u0443\u044e \u0432 \u043e\u0431\u0445\u043e\u0434 Varnish \u0441 \u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043a\u043e\u043c <code>Content-Length: 33554433<\/code>.<\/p>\n<pre><code class=\"bash\">curl -i -s --connect-timeout 3 --max-time 5 -X POST http:\/\/172.19.0.105\/ \\ -H \"Host: host_apache_1.com\" \\ -H \"Content-Length: 33554433\" \\ -d \"\" | head -n 10HTTP\/1.1 413 Request Entity Too LargeDate: Wed, 21 Oct 2026 21:54:09 GMTServer: Apache\/2.4.37 (AlmaLinux) PHP\/5.6.40Connection: closeContent-Type: text\/html; charset=iso-8859-1&lt;!DOCTYPE HTML PUBLIC \"-\/\/IETF\/\/DTD HTML 2.0\/\/EN\"&gt;&lt;html&gt;&lt;head&gt;&lt;title&gt;413 Request Entity Too Large&lt;\/title&gt;&lt;\/head&gt;&lt;body&gt;curl -i -s --connect-timeout 3 --max-time 5 -X POST http:\/\/172.19.0.109\/ \\ -H \"Host: host_apache_2.com\" \\ -H \"Content-Length: 33554433\" \\ -d \"\" | head -n 10HTTP\/1.1 200 OKDate: Wed, 21 Oct 2026 21:54:18 GMTServer: Apache\/2.4.37 (AlmaLinux) PHP\/5.6.40X-Powered-By: PHP\/5.6.40Set-Cookie: SID=a7cf1f95-bb77-4ce5-86d9-25ddd2ad2e06; path=\/Expires: Thu, 19 Nov 1981 08:52:00 GMTCache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0Pragma: no-cacheLast-Modified: Wed, 21 Oct 2026 21:54:18 +0000Transfer-Encoding: chunked<\/code><div class=\"code-explainer\"><a href=\"https:\/\/sourcecraft.dev\/\" class=\"tm-button code-explainer__link\" style=\"visibility: hidden;\"><span class=\"sc-logo-wrapper icon-only\"><\/span><\/a><\/div><\/pre>\n<p>\u041d\u0430 \u043f\u0435\u0440\u0432\u043e\u043c \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u0435 (<code>172.19.0.105<\/code>), \u0433\u0434\u0435 \u0432 \u043a\u043e\u0440\u043d\u0435 \u043d\u0435\u0442 <code>index.php<\/code>, Apache \u0441\u0440\u0430\u0437\u0443 \u0432\u0435\u0440\u043d\u0443\u043b \u043a\u043b\u0430\u0441\u0441\u0438\u0447\u0435\u0441\u043a\u0438\u0439 <code>HTTP\/1.1 413 Request Entity Too Large<\/code>. \u0410 \u0432\u043e\u0442 \u0432\u0442\u043e\u0440\u043e\u0439 \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440 (<code>172.19.0.109<\/code>), \u0433\u0434\u0435 \u043a\u043e\u0440\u0435\u043d\u044c \u0441\u0440\u0430\u0437\u0443 \u043e\u0431\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u0441\u043a\u0440\u0438\u043f\u0442\u043e\u043c <code>index.php<\/code> \u0447\u0435\u0440\u0435\u0437 <code>mod_php<\/code>, \u0432\u043d\u0435\u0437\u0430\u043f\u043d\u043e \u043c\u0433\u043d\u043e\u0432\u0435\u043d\u043d\u043e \u043e\u0442\u0432\u0435\u0442\u0438\u043b <code><strong>HTTP\/1.1 200 OK<\/strong><\/code>!<\/p>\n<p>\u041d\u0435\u0443\u0436\u0435\u043b\u0438 <code>LimitRequestBody 33554432<\/code> \u0432 Apache \u043d\u0435 \u0441\u0440\u0430\u0431\u043e\u0442\u0430\u043b? \u0417\u0430\u0433\u043b\u044f\u0434\u044b\u0432\u0430\u0435\u043c \u0432 <code>error_log<\/code> \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u0430 \u0438 \u0432\u0438\u0434\u0438\u043c \u043a\u0430\u0440\u0442\u0438\u043d\u0443 \u043c\u0430\u0441\u043b\u043e\u043c:<\/p>\n<pre><code>[2026-10-21 21:54:18.155757] [-:error] [pid 48] 172.19.0.1:35132 PHP Warning: Unknown: POST Content-Length of 33554433 bytes exceeds the limit of 33554432 bytes in Unknown on line 0<\/code><div class=\"code-explainer\"><a href=\"https:\/\/sourcecraft.dev\/\" class=\"tm-button code-explainer__link\" style=\"visibility: hidden;\"><span class=\"sc-logo-wrapper icon-only\"><\/span><\/a><\/div><\/pre>\n<p>\u041e\u043a\u0430\u0437\u0430\u043b\u043e\u0441\u044c, \u0447\u0442\u043e \u0432 Apache 2.4 \u0444\u0438\u043b\u044c\u0442\u0440 <code>LimitRequestBody<\/code> \u0441\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u0435\u0442 \u0432 \u043c\u043e\u043c\u0435\u043d\u0442, \u043a\u043e\u0433\u0434\u0430 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a \u043f\u044b\u0442\u0430\u0435\u0442\u0441\u044f \u0444\u0438\u0437\u0438\u0447\u0435\u0441\u043a\u0438 \u043f\u0440\u043e\u0447\u0438\u0442\u0430\u0442\u044c \u0442\u0435\u043b\u043e \u0437\u0430\u043f\u0440\u043e\u0441\u0430 \u0447\u0435\u0440\u0435\u0437 <code>ap_get_brigade()<\/code>. \u041d\u043e \u043a\u043e\u0433\u0434\u0430 \u0437\u0430\u043f\u0440\u043e\u0441 \u043f\u043e\u043f\u0430\u0434\u0430\u0435\u0442 \u0432 <code>mod_php<\/code>, \u043f\u0435\u0440\u0432\u044b\u043c \u043f\u0440\u043e\u0441\u044b\u043f\u0430\u0435\u0442\u0441\u044f SAPI-\u0438\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0430\u0442\u043e\u0440 PHP. \u041e\u043d \u0441\u043c\u043e\u0442\u0440\u0438\u0442 \u043d\u0430 \u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043e\u043a <code>Content-Length<\/code> (<code>33554433<\/code>), \u0441\u0432\u0435\u0440\u044f\u0435\u0442 \u0435\u0433\u043e \u0441 \u043d\u0430\u0448\u0438\u043c <code>post_max_size = 32M<\/code> (<code>33554432<\/code>) \u0438\u0437 <code>zz-cve-2026.ini<\/code>, \u0432\u0438\u0434\u0438\u0442 \u043f\u0440\u0435\u0432\u044b\u0448\u0435\u043d\u0438\u0435 \u0438 <strong>\u0432\u043e\u043e\u0431\u0449\u0435 \u043e\u0442\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u0447\u0438\u0442\u0430\u0442\u044c \u0432\u0445\u043e\u0434\u043d\u043e\u0439 \u043f\u043e\u0442\u043e\u043a POST-\u0434\u0430\u043d\u043d\u044b\u0445<\/strong>!<\/p>\n<p>\u0412 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0435:<\/p>\n<ol>\n<li>\n<p>\u0412\u0440\u0435\u0434\u043e\u043d\u043e\u0441\u043d\u044b\u0439 \u043f\u0430\u0440\u0441\u0435\u0440 <code>multipart\/form-data<\/code> \u0434\u0430\u0436\u0435 \u043d\u0435 \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u0442\u0441\u044f;<\/p>\n<\/li>\n<li>\n<p>\u041c\u0430\u0441\u0441\u0438\u0432\u044b <code>$_POST<\/code> \u0438 <code>$_FILES<\/code> \u043e\u0441\u0442\u0430\u044e\u0442\u0441\u044f \u0434\u0435\u0432\u0441\u0442\u0432\u0435\u043d\u043d\u043e \u043f\u0443\u0441\u0442\u044b\u043c\u0438;<\/p>\n<\/li>\n<li>\n<p><code>index.php<\/code> \u043e\u0442\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u0435\u0442 \u0437\u0430 \u043c\u0438\u043b\u043b\u0438\u0441\u0435\u043a\u0443\u043d\u0434\u044b \u043a\u0430\u043a \u043f\u0443\u0441\u0442\u043e\u0439 \u0437\u0430\u043f\u0440\u043e\u0441 \u0438 \u043e\u0442\u0434\u0430\u0435\u0442 <code>200 OK<\/code>, \u043f\u043e\u0441\u043b\u0435 \u0447\u0435\u0433\u043e \u0432\u043e\u0440\u043a\u0435\u0440 Apache \u0441\u0440\u0430\u0437\u0443 \u0437\u0430\u0432\u0435\u0440\u0448\u0430\u0435\u0442\u0441\u044f \u0431\u043b\u0430\u0433\u043e\u0434\u0430\u0440\u044f <code>MaxConnectionsPerChild 1<\/code>.   <\/p>\n<\/li>\n<li>\n<p>\u0410 \u0435\u0441\u043b\u0438 \u0430\u0442\u0430\u043a\u0443\u044e\u0449\u0438\u0439 \u043f\u043e\u043f\u044b\u0442\u0430\u0435\u0442\u0441\u044f \u043e\u0431\u043c\u0430\u043d\u0443\u0442\u044c <code>post_max_size<\/code>, \u043f\u043e\u0441\u043b\u0430\u0432 \u0437\u0430\u043f\u0440\u043e\u0441 \u0431\u0435\u0437 <code>Content-Length<\/code> (<code>Transfer-Encoding: chunked<\/code>), <code>mod_php<\/code> \u043d\u0430\u0447\u043d\u0435\u0442 \u0447\u0438\u0442\u0430\u0442\u044c \u043f\u043e\u0442\u043e\u043a \u0447\u0435\u0440\u0435\u0437 Apache, \u0438 \u0440\u043e\u0432\u043d\u043e \u043d\u0430 32-\u043c \u043c\u0435\u0433\u0430\u0431\u0430\u0439\u0442\u0435 \u0435\u0433\u043e \u043f\u0440\u0438\u0445\u043b\u043e\u043f\u043d\u0435\u0442 \u0443\u0436\u0435 <code>LimitRequestBody<\/code>.<\/p>\n<\/li>\n<\/ol>\n<h4>\u0418\u0442\u043e\u0433\u043e\u0432\u044b\u0439 \u0447\u0435\u043a-\u043b\u0438\u0441\u0442 \u0434\u043b\u044f \u0442\u0435\u0445, \u043a\u0442\u043e \u0437\u0430\u0449\u0438\u0449\u0430\u0435\u0442 \u043b\u0435\u0433\u0430\u0441\u0438 \u043d\u0430 mod_php<\/h4>\n<p>\u0415\u0441\u043b\u0438 \u0443 \u0432\u0430\u0441 \u0432 \u0438\u043d\u0444\u0440\u0430\u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0435 \u043e\u0441\u0442\u0430\u043b\u0438\u0441\u044c \u0443\u0437\u043b\u044b \u0441\u043e \u0441\u0442\u0430\u0440\u044b\u043c\u0438 \u0432\u0435\u0440\u0441\u0438\u044f\u043c\u0438 PHP, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043d\u0435\u043b\u044c\u0437\u044f \u043e\u0431\u043d\u043e\u0432\u0438\u0442\u044c \u0434\u043e 8.2.35+ \u043f\u0440\u044f\u043c\u043e \u0441\u0435\u0439\u0447\u0430\u0441, \u0432\u043e\u0442 \u0441\u0432\u043e\u0434\u043a\u0430 \u043c\u0435\u0440, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0437\u0430\u043a\u0440\u043e\u0435\u0442 \u0432\u0435\u043a\u0442\u043e\u0440\u044b <strong>PHP2Shell (CVE-2026-109618 \/ CVE-2026-109619)<\/strong>:<\/p>\n<ol>\n<li>\n<p><strong>\u041d\u0430 \u0443\u0440\u043e\u0432\u043d\u0435 \u043f\u0440\u043e\u043a\u0441\u0438 (Varnish \/ Nginx):<\/strong><\/p>\n<ul>\n<li>\n<p>\u0411\u043b\u043e\u043a\u0438\u0440\u0443\u0439\u0442\u0435 \u0437\u0430\u043f\u0440\u043e\u0441\u044b, \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u0449\u0438\u0435 <code>PHP_SESSION_UPLOAD_PROGRESS<\/code> \u0432 <code>Cookie<\/code> \u0438\u043b\u0438 query-\u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0430\u0445 (<code>403 Forbidden<\/code>).   <\/p>\n<\/li>\n<li>\n<p>\u041e\u0442\u0441\u0435\u043a\u0430\u0439\u0442\u0435 <code>POST<\/code>-\u0437\u0430\u043f\u0440\u043e\u0441\u044b \u0441 <code>Content-Length<\/code> \u0432\u044b\u0448\u0435 \u0440\u0430\u0437\u0443\u043c\u043d\u043e\u0433\u043e \u043b\u0438\u043c\u0438\u0442\u0430 (<code>413 Request Entity Too Large<\/code>) \u0438 \u043e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u043e \u043f\u0440\u0438\u043d\u0443\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u0432\u044b\u0441\u0442\u0430\u0432\u043b\u044f\u0439\u0442\u0435 <code>Connection: close<\/code> \u043d\u0430 \u0441\u0438\u043d\u0442\u0435\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0445 \u043e\u0442\u0432\u0435\u0442\u0430\u0445 \u043e\u0448\u0438\u0431\u043e\u043a, \u0447\u0442\u043e\u0431\u044b \u043f\u0440\u043e\u043a\u0441\u0438 \u043d\u0435 \u0436\u0434\u0430\u043b \u0432\u044b\u0433\u0440\u0443\u0437\u043a\u0438 \u0442\u0435\u043b\u0430 \u0432 \u0441\u043e\u043a\u0435\u0442.   <\/p>\n<\/li>\n<\/ul>\n<\/li>\n<li>\n<p><strong>\u041d\u0430 \u0443\u0440\u043e\u0432\u043d\u0435 Apache (<\/strong><code><strong>mpm_prefork<\/strong><\/code><strong>):<\/strong><\/p>\n<ul>\n<li>\n<p>\u041f\u043e\u0441\u0442\u0430\u0432\u044c\u0442\u0435 <code>MaxConnectionsPerChild 1<\/code>, \u0447\u0442\u043e\u0431\u044b \u0438\u0441\u043a\u043b\u044e\u0447\u0438\u0442\u044c \u043f\u0435\u0440\u0435\u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 \u043f\u0430\u043c\u044f\u0442\u0438 \u0432\u043e\u0440\u043a\u0435\u0440\u0430 \u043c\u0435\u0436\u0434\u0443 \u0437\u0430\u043f\u0440\u043e\u0441\u0430\u043c\u0438.   <\/p>\n<\/li>\n<li>\n<p>\u0417\u0430\u0434\u0430\u0439\u0442\u0435 <code>LimitRequestBody<\/code> \u0432 \u0431\u043b\u043e\u043a\u0430\u0445 <code>&lt;Directory&gt;<\/code> \u043d\u0430 \u0441\u043b\u0443\u0447\u0430\u0439 chunked-\u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432 \u0431\u0435\u0437 <code>Content-Length<\/code>.   <\/p>\n<\/li>\n<\/ul>\n<\/li>\n<li>\n<p><strong>\u041d\u0430 \u0443\u0440\u043e\u0432\u043d\u0435 PHP (<\/strong><code><strong>php.d\/zz-cve-2026.ini<\/strong><\/code><strong>):<\/strong><\/p>\n<ul>\n<li>\n<p>\u0412\u044b\u043a\u043b\u044e\u0447\u0438\u0442\u0435 <code>session.upload_progress.enabled = 0<\/code>.   <\/p>\n<\/li>\n<li>\n<p>\u041e\u0442\u043a\u043b\u044e\u0447\u0438\u0442\u0435 \u0432\u043d\u0443\u0442\u0440\u0435\u043d\u043d\u0438\u0439 OOM-\u043e\u0431\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a Zend \u0447\u0435\u0440\u0435\u0437 <code>memory_limit = -1<\/code> (\u0443\u0431\u0435\u0434\u0438\u0432\u0448\u0438\u0441\u044c \u043f\u043e <code>php -i<\/code>, \u0447\u0442\u043e \u0432\u0430\u0448 <code>.ini<\/code>-\u0444\u0430\u0439\u043b \u0433\u0440\u0443\u0437\u0438\u0442\u0441\u044f \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u043c \u0438 \u043d\u0435 \u043f\u0435\u0440\u0435\u0437\u0430\u043f\u0438\u0441\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u0434\u0440\u0443\u0433\u0438\u043c\u0438 \u043a\u043e\u043d\u0444\u0438\u0433\u0430\u043c\u0438).   <\/p>\n<\/li>\n<li>\n<p>\u0417\u0430\u0436\u043c\u0438\u0442\u0435 <code>post_max_size<\/code>, <code>upload_max_filesize<\/code>, <code>max_input_vars<\/code> \u0438 <code>max_input_time<\/code>.   <\/p>\n<\/li>\n<\/ul>\n<\/li>\n<li>\n<p><strong>\u041d\u0430 \u0443\u0440\u043e\u0432\u043d\u0435 \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u0438\u0437\u0430\u0446\u0438\u0438 (Docker \/ systemd):<\/strong><\/p>\n<ul>\n<li>\n<p>\u041e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u043e \u0437\u0430\u0434\u0430\u0439\u0442\u0435 \u0436\u0435\u0441\u0442\u043a\u0438\u0439 <code>deploy.resources.limits.memory<\/code> \u0434\u043b\u044f \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u043e\u0432 \u0441 <code>memory_limit = -1<\/code>, \u0447\u0442\u043e\u0431\u044b \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u044c \u0437\u0430 \u043f\u0435\u0440\u0435\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0435\u043c \u043f\u0430\u043c\u044f\u0442\u0438 \u043b\u0435\u0436\u0430\u043b \u043d\u0430 cgroups \u044f\u0434\u0440\u0430 Linux.   <\/p>\n<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n<\/div>\n<p>\u0441\u0441\u044b\u043b\u043a\u0430 \u043d\u0430 \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b \u0441\u0442\u0430\u0442\u044c\u0438 <a href=\"https:\/\/habr.com\/ru\/articles\/1097990\/\">https:\/\/habr.com\/ru\/articles\/1097990\/<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>21 \u043e\u043a\u0442\u044f\u0431\u0440\u044f 2026 \u0433\u043e\u0434\u0430 \u043c\u0438\u0440 PHP \u0432\u0437\u0434\u0440\u043e\u0433\u043d\u0443\u043b \u043e\u0442 \u0430\u043d\u043e\u043d\u0441\u0430 \u0434\u0432\u0443\u0445 \u043a\u0440\u0438\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0445 RCE-\u0443\u044f\u0437\u0432\u0438\u043c\u043e\u0441\u0442\u0435\u0439 (CVSS 9.2), \u043f\u043e\u043b\u0443\u0447\u0438\u0432\u0448\u0438\u0445 \u043e\u0431\u0449\u0435\u0435 \u0438\u043c\u044f PHP2Shell (CVE-2026-109618 \u0438 CVE-2026-109619). \u041e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u044c \u044d\u0442\u0438\u0445 \u0431\u0440\u0435\u0448\u0435\u0439 \u0432 \u0442\u043e\u043c, \u0447\u0442\u043e \u043e\u043d\u0438 \u0441\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u044e\u0442 \u043d\u0430 \u0443\u0440\u043e\u0432\u043d\u0435 \u044f\u0434\u0440\u0430 \u0438\u043d\u0442\u0435\u0440\u043f\u0440\u0435\u0442\u0430\u0442\u043e\u0440\u0430 \u0435\u0449\u0435 \u0434\u043e \u0442\u043e\u0433\u043e, \u043a\u0430\u043a \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u0434\u043e\u0439\u0434\u0435\u0442 \u0434\u043e \u043f\u0435\u0440\u0432\u043e\u0439 \u0441\u0442\u0440\u043e\u0447\u043a\u0438 \u0432\u0430\u0448\u0435\u0433\u043e index.php. \u0414\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e, \u0447\u0442\u043e\u0431\u044b \u0441\u0435\u0440\u0432\u0435\u0440 \u043f\u0440\u043e\u0441\u0442\u043e \u043f\u0440\u0438\u043d\u0438\u043c\u0430\u043b HTTP-\u0437\u0430\u043f\u0440\u043e\u0441\u044b.\u0420\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0438 PHP \u043e\u043f\u0435\u0440\u0430\u0442\u0438\u0432\u043d\u043e \u0432\u044b\u043f\u0443\u0441\u0442\u0438\u043b\u0438 \u043f\u0430\u0442\u0447\u0438 \u0434\u043b\u044f \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u043c\u044b\u0445 \u0432\u0435\u0442\u043e\u043a (8.2.35, 8.3.36, 8.4.27, 8.5.12) \u0438 \u0437\u0430\u044f\u0432\u0438\u043b\u0438: \u00ab\u0415\u0434\u0438\u043d\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0439 100% \u0441\u043f\u043e\u0441\u043e\u0431 \u0437\u0430\u0449\u0438\u0442\u044b \u2014 \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0435, \u0430 \u0441\u0446\u0435\u043d\u0430\u0440\u0438\u0439 \u043d\u0430\u0438\u0432\u044b\u0441\u0448\u0435\u0433\u043e \u0440\u0438\u0441\u043a\u0430 \u2014 \u044d\u0442\u043e Apache \u0441 mod_php\u00bb.\u0417\u0432\u0443\u0447\u0438\u0442 \u043e\u0442\u043b\u0438\u0447\u043d\u043e, \u0435\u0441\u043b\u0438 \u0443 \u0432\u0430\u0441 \u0441\u0432\u0435\u0436\u0438\u0439 \u043f\u0440\u043e\u0435\u043a\u0442. \u0410 \u0447\u0442\u043e \u0434\u0435\u043b\u0430\u0442\u044c, \u0435\u0441\u043b\u0438 \u0432 \u043f\u0440\u043e\u0434\u0430\u043a\u0448\u0435\u043d\u0435 \u043a\u0440\u0443\u0442\u0438\u0442\u0441\u044f \u0441\u0443\u0440\u043e\u0432\u044b\u0439 \u0432\u044b\u0441\u043e\u043a\u043e\u043d\u0430\u0433\u0440\u0443\u0436\u0435\u043d\u043d\u044b\u0439 \u044d\u043d\u0442\u0435\u0440\u043f\u0440\u0430\u0439\u0437-\u043b\u0435\u0433\u0430\u0441\u0438 \u043d\u0430 PHP 5.6 \u0432 \u0441\u0432\u044f\u0437\u043a\u0435 \u0441 Apache 2.4 (mpm_prefork + mod_php), \u043f\u0435\u0440\u0435\u043f\u0438\u0441\u0430\u0442\u044c \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0437\u0430 \u043d\u043e\u0447\u044c \u043d\u0435\u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e, \u0430 \u043e\u0444\u0438\u0446\u0438\u0430\u043b\u044c\u043d\u044b\u0445 \u043f\u0430\u0442\u0447\u0435\u0439 \u0434\u043b\u044f \u0432\u0435\u0442\u043a\u0438 5.6 \u043d\u0435 \u0432\u044b\u0439\u0434\u0435\u0442 \u043d\u0438\u043a\u043e\u0433\u0434\u0430?   \u041f\u043e\u0434 \u043a\u0430\u0442\u043e\u043c &#8212; \u043f\u0440\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u0440\u0430\u0437\u0431\u043e\u0440 \u0442\u043e\u0433\u043e, \u043a\u0430\u043a \u0443\u0441\u0442\u0440\u043e\u0435\u043d\u044b \u043e\u0431\u0435 \u0443\u044f\u0437\u0432\u0438\u043c\u043e\u0441\u0442\u0438, \u043f\u043e\u0447\u0435\u043c\u0443 \u0438\u043c\u0435\u043d\u043d\u043e mod_php \u043e\u043a\u0430\u0437\u0430\u043b\u0441\u044f \u043f\u043e\u0434 \u0433\u043b\u0430\u0432\u043d\u044b\u043c \u0443\u0434\u0430\u0440\u043e\u043c \u0438 \u043a\u0430\u043a \u044f \u0432\u044b\u0441\u0442\u0440\u043e\u0438\u043b \u044d\u0448\u0435\u043b\u043e\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u0443\u044e \u043e\u0431\u043e\u0440\u043e\u043d\u0443 \u043d\u0430 \u0443\u0440\u043e\u0432\u043d\u0435 Varnish \u2192 Apache \u2192 PHP \u2192 Docker cgroups, \u043d\u0435 \u0441\u043b\u043e\u043c\u0430\u0432 \u043b\u0435\u0433\u0430\u0441\u0438-\u043c\u043e\u043d\u043e\u043b\u0438\u0442 \u0438 \u043f\u0440\u043e\u0432\u0435\u0440\u0438\u0432 \u043a\u0430\u0436\u0434\u044b\u0439 \u0440\u0443\u0431\u0435\u0436 \u0431\u043e\u0435\u043c (\u0441 \u0440\u0430\u0437\u0431\u043e\u0440\u043e\u043c \u043f\u043e\u0434\u0432\u043e\u0434\u043d\u044b\u0445 \u043a\u0430\u043c\u043d\u0435\u0439 HTTP keep-alive).\u0412\u0432\u0435\u0434\u0435\u043d\u0438\u0435 \u0432 \u0430\u043d\u0430\u0442\u043e\u043c\u0438\u044e PHP2Shell: \u0447\u0442\u043e \u0438\u043c\u0435\u043d\u043d\u043e \u043b\u043e\u043c\u0430\u0435\u0442\u0441\u044f?\u041e\u0431\u0435 \u0443\u044f\u0437\u0432\u0438\u043c\u043e\u0441\u0442\u0438 \u043e\u0442\u043d\u043e\u0441\u044f\u0442\u0441\u044f \u043a \u043a\u043b\u0430\u0441\u0441\u0443 CWE-824 (\u043e\u0431\u0440\u0430\u0449\u0435\u043d\u0438\u0435 \u043a \u043d\u0435\u0438\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u043c\u0443 \u0443\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u044e) \u0438 \u044d\u043a\u0441\u043f\u043b\u0443\u0430\u0442\u0438\u0440\u0443\u044e\u0442 \u043c\u0435\u0445\u0430\u043d\u0438\u0437\u043c \u0430\u0432\u0430\u0440\u0438\u0439\u043d\u043e\u0433\u043e \u0432\u044b\u0445\u043e\u0434\u0430 \u0438\u0437 \u0437\u0430\u043f\u0440\u043e\u0441\u0430 \u0447\u0435\u0440\u0435\u0437 longjmp() \u0432\u043d\u0443\u0442\u0440\u0438 Zend Engine:CVE-2026-109618 RCE (Remote Code Execution, \u0438\u043b\u0438 \u0443\u0434\u0430\u043b\u0451\u043d\u043d\u043e\u0435 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0435 \u043a\u043e\u0434\u0430) \u0447\u0435\u0440\u0435\u0437 Out-Of-Memory (\u043d\u0435\u0445\u0432\u0430\u0442\u043a\u0430 \u043e\u043f\u0435\u0440\u0430\u0442\u0438\u0432\u043d\u043e\u0439 \u043f\u0430\u043c\u044f\u0442\u0438) \/ OOM  :\u041a\u043e\u0433\u0434\u0430 \u0432\u0445\u043e\u0434\u044f\u0449\u0438\u0439 \u0437\u0430\u043f\u0440\u043e\u0441 \u043f\u0440\u0435\u0432\u044b\u0448\u0430\u0435\u0442 \u043b\u0438\u043c\u0438\u0442 memory_limit, \u0432\u043d\u0443\u0442\u0440\u0435\u043d\u043d\u0438\u0439 \u043c\u0435\u043d\u0435\u0434\u0436\u0435\u0440 \u043f\u0430\u043c\u044f\u0442\u0438 Zend \u0432\u044b\u0437\u044b\u0432\u0430\u0435\u0442 OOM-\u043e\u0431\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a \u0438 \u043f\u0440\u0435\u0440\u044b\u0432\u0430\u0435\u0442 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0435 \u0447\u0435\u0440\u0435\u0437 longjmp(). \u0415\u0441\u043b\u0438 \u0438\u0441\u0447\u0435\u0440\u043f\u0430\u043d\u0438\u0435 \u043f\u0430\u043c\u044f\u0442\u0438 \u043f\u0440\u043e\u0438\u0437\u043e\u0448\u043b\u043e \u043f\u0440\u044f\u043c\u043e \u0432\u043e \u0432\u0440\u0435\u043c\u044f \u0440\u0430\u0437\u0431\u043e\u0440\u0430 \u0442\u0435\u043b\u0430 \u0437\u0430\u043f\u0440\u043e\u0441\u0430 (\u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, multipart\/form-data), \u0432\u043d\u0443\u0442\u0440\u0435\u043d\u043d\u0438\u0435 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u044b \u043f\u0430\u0440\u0441\u0435\u0440\u0430 \u043e\u0441\u0442\u0430\u044e\u0442\u0441\u044f \u0438\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u043c\u0438 \u043b\u0438\u0448\u044c \u043d\u0430\u043f\u043e\u043b\u043e\u0432\u0438\u043d\u0443. \u041f\u0440\u043e\u0446\u0435\u0434\u0443\u0440\u0430 \u043e\u0447\u0438\u0441\u0442\u043a\u0438 (shutdown) \u043f\u0440\u0438\u043d\u0438\u043c\u0430\u0435\u0442 \u00ab\u043c\u0443\u0441\u043e\u0440\u043d\u044b\u0435\u00bb \u043d\u0435\u0438\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0435 \u0443\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u0438 \u0437\u0430 \u0432\u0430\u043b\u0438\u0434\u043d\u044b\u0435 \u0430\u0434\u0440\u0435\u0441\u0430 \u0438 \u0432\u044b\u0437\u044b\u0432\u0430\u0435\u0442 \u043d\u0430 \u043d\u0438\u0445 efree(). \u041f\u043e\u0441\u043a\u043e\u043b\u044c\u043a\u0443 \u043a\u0443\u0447\u0430 (heap) \u0432 \u044d\u0442\u043e\u0442 \u043c\u043e\u043c\u0435\u043d\u0442 \u0443\u0436\u0435 \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u0440\u0430\u0437\u043c\u0435\u0447\u0435\u043d\u0430 \u0434\u0430\u043d\u043d\u044b\u043c\u0438 \u0430\u0442\u0430\u043a\u0443\u044e\u0449\u0435\u0433\u043e (Heap Feng Shui), \u044d\u0442\u043e \u043f\u0440\u0438\u0432\u043e\u0434\u0438\u0442 \u043a \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044e \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u043b\u044c\u043d\u043e\u0433\u043e \u043a\u043e\u0434\u0430.CVE-2026-109619 (RCE \u0447\u0435\u0440\u0435\u0437 \u0443\u0441\u0442\u0430\u0440\u0435\u0432\u0448\u0435\u0435 \u0433\u043b\u043e\u0431\u0430\u043b\u044c\u043d\u043e\u0435 \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0435):\u041a\u043e\u0433\u0434\u0430 \u0437\u0430\u043f\u0440\u043e\u0441 \u043f\u0430\u0434\u0430\u0435\u0442 \u0441 \u0444\u0430\u0442\u0430\u043b\u044c\u043d\u043e\u0439 \u043e\u0448\u0438\u0431\u043a\u043e\u0439 \u0438\u043b\u0438 \u043f\u043e \u0442\u0430\u0439\u043c\u0430\u0443\u0442\u0443 (max_execution_time), PHP \u0442\u0430\u043a\u0436\u0435 \u0432\u044b\u043f\u0440\u044b\u0433\u0438\u0432\u0430\u0435\u0442 \u0438\u0437 \u043a\u043e\u043d\u0442\u0435\u043a\u0441\u0442\u0430 \u0447\u0435\u0440\u0435\u0437 longjmp(). \u041f\u0440\u0438 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u043d\u044b\u0445 \u0443\u0441\u043b\u043e\u0432\u0438\u044f\u0445 (\u0432 \u0447\u0430\u0441\u0442\u043d\u043e\u0441\u0442\u0438, \u043f\u0440\u0438 \u0430\u043a\u0442\u0438\u0432\u043d\u043e\u043c \u043c\u0435\u0445\u0430\u043d\u0438\u0437\u043c\u0435 \u043e\u0442\u0441\u043b\u0435\u0436\u0438\u0432\u0430\u043d\u0438\u044f \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0438 \u0441\u0435\u0441\u0441\u0438\u0439 session.upload_progress) \u0433\u043b\u043e\u0431\u0430\u043b\u044c\u043d\u043e\u0435 \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0435 \u0440\u0430\u0431\u043e\u0447\u0435\u0433\u043e \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0430 \u0441\u043e\u0445\u0440\u0430\u043d\u044f\u0435\u0442 \u0443\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u044c \u043d\u0430 \u043f\u0430\u043c\u044f\u0442\u044c, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0431\u044b\u043b\u0430 \u043e\u0441\u0432\u043e\u0431\u043e\u0436\u0434\u0435\u043d\u0430 \u0432 \u043a\u043e\u043d\u0446\u0435 \u0430\u0432\u0430\u0440\u0438\u0439\u043d\u043e\u0433\u043e \u0437\u0430\u043f\u0440\u043e\u0441\u0430 (Use-After-Free \/ Stale Pointer). \u041a\u043e\u0433\u0434\u0430 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0439 HTTP-\u0437\u0430\u043f\u0440\u043e\u0441 \u043f\u043e\u043f\u0430\u0434\u0430\u0435\u0442 \u0432 \u044d\u0442\u043e\u0442 \u0436\u0435 \u0432\u043e\u0440\u043a\u0435\u0440, PHP \u043e\u0431\u0440\u0430\u0449\u0430\u0435\u0442\u0441\u044f \u043a \u00ab\u0433\u0440\u044f\u0437\u043d\u043e\u043c\u0443\u00bb \u0443\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u044e \u0435\u0449\u0435 \u043d\u0430 \u044d\u0442\u0430\u043f\u0435 \u0438\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u0437\u0430\u043f\u0440\u043e\u0441\u0430 (RINIT).\u0418\u0441\u0445\u043e\u0434\u043d\u0430\u044f \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u0430 \u0438 \u043f\u043e\u0447\u0435\u043c\u0443 \u043c\u044b \u0432 \u043a\u0440\u0430\u0441\u043d\u043e\u0439 \u0437\u043e\u043d\u0435\u0414\u0440\u0435\u0432\u043d\u0438\u0439 \u043b\u0435\u0433\u0430\u0441\u0438 \u043f\u0440\u043e\u0435\u043a\u0442, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u044f \u0430\u0434\u043c\u0438\u043d\u0438\u0441\u0442\u0440\u0438\u0440\u0443\u044e \u0438 \u0434\u043e\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u044e, \u043a\u0440\u0443\u0442\u0438\u0442\u0441\u044f \u0432 Docker Compose \u043d\u0430 \u0431\u0430\u0437\u0435 AlmaLinux. \u0421\u0445\u0435\u043c\u0430 \u043f\u0440\u043e\u0445\u043e\u0436\u0434\u0435\u043d\u0438\u044f \u0442\u0440\u0430\u0444\u0438\u043a\u0430 \u0432\u044b\u0433\u043b\u044f\u0434\u0438\u0442 \u0442\u0430\u043a:   \u041f\u0435\u0440\u0438\u043c\u0435\u0442\u0440: TLS-\u0442\u0435\u0440\u043c\u0438\u043d\u0430\u0442\u043e\u0440 Hitch (172.19.0.101:443) \u043f\u0440\u0438\u043d\u0438\u043c\u0430\u0435\u0442 HTTPS \u0438 \u043f\u043e \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b\u0443 PROXY v2 \u043e\u0442\u0434\u0430\u0435\u0442 \u0442\u0440\u0430\u0444\u0438\u043a \u0432 Varnish 6.0 LTS (172.19.0.102).   \u0420\u043e\u0443\u0442\u0438\u043d\u0433 \u0432 Varnish: \u0427\u0430\u0441\u0442\u044c \u0442\u0440\u0430\u0444\u0438\u043a\u0430 \u0443\u0445\u043e\u0434\u0438\u0442 \u043d\u0430 \u0431\u044d\u043a\u0435\u043d\u0434\u044b \u0441 Node.js, \u0430 \u0441\u0442\u0430\u0442\u0438\u043a\u0430 \u0438 \u043b\u0435\u0433\u0430\u0441\u0438-\u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u043c\u0430\u0440\u0448\u0440\u0443\u0442\u0438\u0437\u0438\u0440\u0443\u044e\u0442\u0441\u044f \u043d\u0430 \u0434\u0432\u0430 \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u044b\u0445 \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u0430 \u0441 Apache (apache_1 172.19.0.105 \u0438 apache_2 172.19.0.109).   \u0412\u043d\u0443\u0442\u0440\u0438 PHP-\u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u043e\u0432: \u041e\u0431\u0440\u0430\u0437\u044b \u043d\u0430 \u0431\u0430\u0437\u0435 AlmaLinux 8 + \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0439 Remi (php56-php). Apache \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u0432 \u0440\u0435\u0436\u0438\u043c\u0435 mpm_prefork \u0441 mod_php.   \u0421\u0442\u0430\u0440\u0430\u044f \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044f \u0431\u044b\u043b\u0430 \u0438\u0434\u0435\u0430\u043b\u044c\u043d\u043e\u0439 \u043c\u0438\u0448\u0435\u043d\u044c\u044e \u0434\u043b\u044f PHP2Shell:\u0412 mpm_tuning.conf \u0443 Apache \u0441\u0442\u043e\u044f\u043b \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u044b\u0439 MaxConnectionsPerChild 1000. \u042d\u0442\u043e \u0437\u043d\u0430\u0447\u0438\u0442, \u0447\u0442\u043e \u043e\u0434\u0438\u043d \u0438 \u0442\u043e\u0442 \u0436\u0435 \u0444\u043e\u0440\u043a Apache \u043e\u0431\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u0435\u0442 1000 \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432 \u043f\u043e\u0434\u0440\u044f\u0434, \u0440\u0430\u0437\u0434\u0435\u043b\u044f\u044f \u0430\u0434\u0440\u0435\u0441\u043d\u043e\u0435 \u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0441\u0442\u0432\u043e \u0441 mod_php. \u0415\u0441\u043b\u0438 1-\u0439 \u0437\u0430\u043f\u0440\u043e\u0441 \u043e\u0441\u0442\u0430\u0432\u0438\u0442 \u00ab\u0433\u0440\u044f\u0437\u043d\u043e\u0435\u00bb \u0433\u043b\u043e\u0431\u0430\u043b\u044c\u043d\u043e\u0435 \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0435 (CVE-2026-109619), \u0443 \u0430\u0442\u0430\u043a\u0443\u044e\u0449\u0435\u0433\u043e \u0435\u0441\u0442\u044c \u0435\u0449\u0435 999 \u043f\u043e\u043f\u044b\u0442\u043e\u043a \u043f\u0440\u043e\u044d\u043a\u0441\u043f\u043b\u0443\u0430\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u044d\u0442\u043e\u0442 \u043f\u0440\u043e\u0446\u0435\u0441\u0441.   \u0412 \u043a\u043e\u043d\u0444\u0438\u0433\u0430\u0445 PHP \u0441\u0442\u043e\u044f\u043b memory_limit = 512M \u2014 \u0442\u043e \u0435\u0441\u0442\u044c \u0432\u043d\u0443\u0442\u0440\u0435\u043d\u043d\u0438\u0439 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a OOM Zend Engine \u0431\u044b\u043b \u0432\u0437\u0432\u0435\u0434\u0435\u043d \u0438 \u0433\u043e\u0442\u043e\u0432 \u043a \u0441\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u043d\u0438\u044e (CVE-2026-109618).   \u0414\u0438\u0440\u0435\u043a\u0442\u0438\u0432\u0430 session.upload_progress.enabled \u0432 PHP 5.6 \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e \u0432\u043a\u043b\u044e\u0447\u0435\u043d\u0430 (On).\u041f\u043e\u0441\u043a\u043e\u043b\u044c\u043a\u0443 \u043f\u0435\u0440\u0435\u0441\u043e\u0431\u0440\u0430\u0442\u044c PHP 5.6 \u0441 \u0431\u044d\u043a\u043f\u043e\u0440\u0442\u043e\u043c \u043f\u0430\u0442\u0447\u0435\u0439 \u0438\u0437 PHP 8.4 \u043d\u0430 \u0431\u043e\u044e \u0431\u044b\u0441\u0442\u0440\u043e \u043d\u0435\u043b\u044c\u0437\u044f, \u044f \u0440\u0435\u0448\u0438\u043b \u0437\u0430\u043a\u0440\u044b\u0442\u044c \u0432\u0441\u0435 \u0432\u0435\u043a\u0442\u043e\u0440\u044b \u044d\u043a\u0441\u043f\u043b\u0443\u0430\u0442\u0430\u0446\u0438\u0438 \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u043d\u043e &#8212; \u043d\u0430 \u0447\u0435\u0442\u044b\u0440\u0435\u0445 \u0443\u0440\u043e\u0432\u043d\u044f\u0445.\u0420\u0443\u0431\u0435\u0436 1: \u0412\u044b\u043a\u043b\u044e\u0447\u0430\u0435\u043c \u0442\u0440\u0438\u0433\u0433\u0435\u0440\u044b \u0432 PHP (\u0438 \u043d\u0435 \u043d\u0430\u0441\u0442\u0443\u043f\u0430\u0435\u043c \u043d\u0430 \u0433\u0440\u0430\u0431\u043b\u0438 \u0441 \u043f\u043e\u0440\u044f\u0434\u043a\u043e\u043c \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0438 .ini)\u041f\u0435\u0440\u0432\u044b\u043c \u0434\u0435\u043b\u043e\u043c \u043d\u0443\u0436\u043d\u043e \u043e\u0442\u043a\u043b\u044e\u0447\u0438\u0442\u044c \u043e\u0431\u0430 \u0441\u043f\u0443\u0441\u043a\u043e\u0432\u044b\u0445 \u043a\u0440\u044e\u0447\u043a\u0430 \u0432\u043d\u0443\u0442\u0440\u0438 \u0441\u0430\u043c\u043e\u0433\u043e PHP:\u0412\u044b\u043a\u043b\u044e\u0447\u0438\u0442\u044c session.upload_progress.enabled = 0 (\u0437\u0430\u043a\u0440\u044b\u0432\u0430\u0435\u0442 \u043e\u0441\u043d\u043e\u0432\u043d\u043e\u0439 \u0432\u0435\u043a\u0442\u043e\u0440 CVE-2026-109619).   \u0412\u044b\u0441\u0442\u0430\u0432\u0438\u0442\u044c memory_limit = -1. \u0417\u0432\u0443\u0447\u0438\u0442 \u043a\u043e\u043d\u0442\u0440\u0438\u043d\u0442\u0443\u0438\u0442\u0438\u0432\u043d\u043e, \u043d\u043e \u0438\u043c\u0435\u043d\u043d\u043e \u044d\u0442\u043e \u0440\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u0443\u044e\u0442 \u0441\u0430\u043c\u0438 \u0430\u0432\u0442\u043e\u0440\u044b PHP \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u043c\u0438\u0442\u0438\u0433\u0430\u0446\u0438\u0438 CVE-2026-109618! \u0415\u0441\u043b\u0438 memory_limit \u0440\u0430\u0432\u0435\u043d -1, \u0432\u043d\u0443\u0442\u0440\u0435\u043d\u043d\u0438\u0439 OOM-\u043e\u0431\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a Zend Engine \u0441 longjmp() \u043d\u0438\u043a\u043e\u0433\u0434\u0430 \u043d\u0435 \u0432\u044b\u0437\u044b\u0432\u0430\u0435\u0442\u0441\u044f. \u0410 \u0447\u0442\u043e\u0431\u044b \u043e\u0434\u0438\u043d \u0437\u0430\u043f\u0440\u043e\u0441 \u043d\u0435 \u043f\u043e\u043b\u043e\u0436\u0438\u043b \u0432\u0435\u0441\u044c \u0445\u043e\u0441\u0442-\u0441\u0435\u0440\u0432\u0435\u0440 \u043f\u043e \u043f\u0430\u043c\u044f\u0442\u0438, \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u044c \u0437\u0430 \u043f\u0430\u043c\u044f\u0442\u044c\u044e \u043c\u044b \u043f\u0435\u0440\u0435\u043d\u043e\u0441\u0438\u043c \u043d\u0430 \u0443\u0440\u043e\u0432\u0435\u043d\u044c \u044f\u0434\u0440\u0430 Linux (cgroups \u0432 Docker) \u0438 \u043b\u0438\u043c\u0438\u0442\u043e\u0432 \u0442\u0435\u043b\u0430 \u0437\u0430\u043f\u0440\u043e\u0441\u0430 \u0432 Varnish\/Apache.   \u042f \u0432\u044b\u043d\u0435\u0441 \u0432\u0441\u0435 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u0438 \u0432 \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u044b\u0439 \u0444\u0430\u0439\u043b etc\/php.d\/cve-2026.ini:   ; === \u0417\u0430\u0449\u0438\u0442\u0430 \u043e\u0442 PHP2Shell (CVE-2026-109618 \/ CVE-2026-109619) ===; 1. \u041e\u0442\u043a\u043b\u044e\u0447\u0430\u0435\u043c \u043e\u0442\u0441\u043b\u0435\u0436\u0438\u0432\u0430\u043d\u0438\u0435 \u043f\u0440\u043e\u0433\u0440\u0435\u0441\u0441\u0430 \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0438 \u0432 \u0441\u0435\u0441\u0441\u0438\u044f\u0445 (\u0431\u043b\u043e\u043a\u0438\u0440\u0443\u0435\u0442 \u0432\u0435\u043a\u0442\u043e\u0440 CVE-2026-109619)session.upload_progress.enabled = 0; 2. \u041e\u0442\u043a\u043b\u044e\u0447\u0430\u0435\u043c \u0432\u043d\u0443\u0442\u0440\u0435\u043d\u043d\u0438\u0439 OOM-\u043e\u0431\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a Zend Engine (\u0431\u043b\u043e\u043a\u0438\u0440\u0443\u0435\u0442 \u0432\u0435\u043a\u0442\u043e\u0440 CVE-2026-109618); \u041a\u043e\u043d\u0442\u0440\u043e\u043b\u044c \u043f\u0430\u043c\u044f\u0442\u0438 \u043f\u0435\u0440\u0435\u0434\u0430\u0435\u0442\u0441\u044f \u043d\u0430 \u0443\u0440\u043e\u0432\u0435\u043d\u044c \u043b\u0438\u043c\u0438\u0442\u043e\u0432 \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u0430 Docker (cgroups)memory_limit = -1; 3. \u041e\u0433\u0440\u0430\u043d\u0438\u0447\u0438\u0432\u0430\u0435\u043c \u0440\u0430\u0437\u043c\u0435\u0440 \u0432\u0445\u043e\u0434\u044f\u0449\u0438\u0445 POST-\u0434\u0430\u043d\u043d\u044b\u0445 \u0438 \u0437\u0430\u0433\u0440\u0443\u0436\u0430\u0435\u043c\u044b\u0445 \u0444\u0430\u0439\u043b\u043e\u0432post_max_size = 32Mupload_max_filesize = 32M; 4. \u0417\u0430\u0449\u0438\u0442\u0430 \u043f\u0430\u0440\u0441\u0435\u0440\u0430 \u0432\u0445\u043e\u0434\u044f\u0449\u0438\u0445 \u0434\u0430\u043d\u043d\u044b\u0445 \u043e\u0442 \u043f\u0435\u0440\u0435\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u0438 \u043c\u0435\u0434\u043b\u0435\u043d\u043d\u044b\u0445 \u0430\u0442\u0430\u043amax_input_vars = 1000max_file_uploads = 10max_input_time = 30max_execution_time = 30\u0422\u043e\u043d\u043a\u043e\u0441\u0442\u044c \u0441 \u0430\u043b\u0444\u0430\u0432\u0438\u0442\u043d\u044b\u043c \u043f\u043e\u0440\u044f\u0434\u043a\u043e\u043c \u0432 php.d\u0412 \u043d\u0430\u0448\u0438\u0445 \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u0430\u0445 \u0443\u0436\u0435 \u043c\u043e\u043d\u0442\u0438\u0440\u043e\u0432\u0430\u043b\u0438\u0441\u044c \u043e\u0441\u043d\u043e\u0432\u043d\u044b\u0435 \u043a\u043e\u043d\u0444\u0438\u0433\u0438 \u043f\u0440\u043e\u0435\u043a\u0442\u043e\u0432: \/etc\/opt\/remi\/php56\/php.d\/php-apache_1.ini \u0438 php-apache_2.ini, \u0432\u043d\u0443\u0442\u0440\u0438 \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u0431\u044b\u043b\u043e \u0436\u0435\u0441\u0442\u043a\u043e \u043f\u0440\u043e\u043f\u0438\u0441\u0430\u043d\u043e memory_limit = 512M.   PHP \u043f\u0430\u0440\u0441\u0438\u0442 \u0434\u0438\u0440\u0435\u043a\u0442\u043e\u0440\u0438\u044e php.d \u0441\u0442\u0440\u043e\u0433\u043e \u0432 \u0430\u043b\u0444\u0430\u0432\u0438\u0442\u043d\u043e\u043c \u043f\u043e\u0440\u044f\u0434\u043a\u0435 (ASCII). \u0415\u0441\u043b\u0438 \u0431\u044b \u044f \u043f\u0440\u0438\u043c\u043e\u043d\u0442\u0438\u0440\u043e\u0432\u0430\u043b \u043f\u0430\u0442\u0447 \u043a\u0430\u043a \/etc\/opt\/remi\/php56\/php.d\/cve-2026.ini, \u043e\u043d \u0431\u044b \u043f\u0440\u043e\u0447\u0438\u0442\u0430\u043b\u0441\u044f \u0440\u0430\u043d\u044c\u0448\u0435 \u0444\u0430\u0439\u043b\u0430 \u043d\u0430 \u0431\u0443\u043a\u0432\u0443 p, \u0438 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 memory_limit = -1 \u0442\u0443\u0442 \u0436\u0435 \u043f\u0435\u0440\u0435\u0437\u0430\u043f\u0438\u0441\u0430\u043b\u0430\u0441\u044c \u0431\u044b \u043e\u0431\u0440\u0430\u0442\u043d\u043e \u043d\u0430 512M! \u041a\u0440\u043e\u043c\u0435 \u0442\u043e\u0433\u043e, \u044f \u043d\u0435 \u0445\u043e\u0442\u0435\u043b \u0443\u0431\u0438\u0440\u0430\u0442\u044c \u043b\u0438\u043c\u0438\u0442\u044b \u043f\u0430\u043c\u044f\u0442\u0438 \u0443 CLI-\u0434\u0435\u043c\u043e\u043d\u043e\u0432, \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u044b \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u0441\u043e\u0431\u0438\u0440\u0430\u044e\u0442\u0441\u044f \u0438\u0437 \u0442\u043e\u0433\u043e \u0436\u0435 \u043e\u0431\u0440\u0430\u0437\u0430.\u0420\u0435\u0448\u0435\u043d\u0438\u0435 \u043f\u0440\u043e\u0441\u0442\u043e\u0435 &#8212; \u043c\u043e\u043d\u0442\u0438\u0440\u0443\u0435\u043c \u0444\u0430\u0439\u043b \u0432 \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u044b \u0432\u0435\u0431-\u0441\u0435\u0440\u0432\u0435\u0440\u043e\u0432 \u043f\u0440\u0435\u0444\u0438\u043a\u0441\u043e\u043c zz-:   services:  apache_1:    volumes:      &#8212; .\/etc\/php.d\/00-msmtp.ini:\/etc\/opt\/remi\/php56\/php.d\/00-msmtp.ini:ro      &#8212; .\/etc\/php.d\/php-apache_1.ini:\/etc\/opt\/remi\/php56\/php.d\/php-apache_1.ini:ro      # \u041f\u0430\u0442\u0447 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0438 \u043f\u0440\u043e\u0442\u0438\u0432 CVE-2026-109618 \/ CVE-2026-109619 (\u0437\u0430\u0433\u0440\u0443\u0436\u0430\u0435\u0442\u0441\u044f \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u043c)      &#8212; .\/etc\/php.d\/cve-2026.ini:\/etc\/opt\/remi\/php56\/php.d\/zz-cve-2026.ini:ro\u041f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u043c \u0432\u043d\u0443\u0442\u0440\u0438 \u0437\u0430\u043f\u0443\u0449\u0435\u043d\u043d\u043e\u0433\u043e \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u0430:docker compose exec apache_1 php -i | grep -E &#171;memory_limit|upload_progress.enabled|post_max_size|zz-cve-2026&#8243;\/etc\/opt\/remi\/php56\/php.d\/zz-cve-2026.inimemory_limit =&gt; -1 =&gt; -1post_max_size =&gt; 32M =&gt; 32Msession.upload_progress.enabled =&gt; Off =&gt; Off\u0420\u0443\u0431\u0435\u0436 2: \u0418\u0437\u043e\u043b\u044f\u0446\u0438\u044f \u043f\u0430\u043c\u044f\u0442\u0438 \u0432 Docker \u0438 \u00ab\u043e\u0434\u043d\u043e\u0440\u0430\u0437\u043e\u0432\u044b\u0435\u00bb \u0432\u043e\u0440\u043a\u0435\u0440\u044b \u0432 Apache\u0420\u0430\u0437 \u043c\u044b \u043f\u043e\u0441\u0442\u0430\u0432\u0438\u043b\u0438 memory_limit = -1 \u0432 PHP, \u043c\u044b \u043e\u0431\u044f\u0437\u0430\u043d\u044b \u0437\u0430\u0436\u0430\u0442\u044c \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u044b \u0432\u0435\u0431-\u0441\u0435\u0440\u0432\u0435\u0440\u043e\u0432 \u043d\u0430 \u0443\u0440\u043e\u0432\u043d\u0435 docker-compose.yml. \u0422\u0435\u043f\u0435\u0440\u044c, \u0435\u0441\u043b\u0438 \u043a\u0442\u043e-\u0442\u043e \u0447\u0443\u0434\u043e\u043c \u0432\u044b\u0437\u043e\u0432\u0435\u0442 \u0443\u0442\u0435\u0447\u043a\u0443 \u043f\u0430\u043c\u044f\u0442\u0438, \u0442\u043e \u043f\u0440\u043e\u0446\u0435\u0441\u0441 Apache \u043f\u0440\u0438\u0441\u0442\u0440\u0435\u043b\u0438\u0442 OOM-killer \u044f\u0434\u0440\u0430 Linux (\u0447\u0435\u0440\u0435\u0437  SIGKILL), \u043d\u0435 \u0432\u044b\u0437\u044b\u0432\u0430\u044f \u043d\u0438\u043a\u0430\u043a\u0438\u0445 \u0434\u0435\u0441\u0442\u0440\u0443\u043a\u0442\u043e\u0440\u043e\u0432 PHP:     apache_1:    deploy:      resources:        limits:          memory: 4G          cpus: &#8216;2.0&#8217;\u0414\u0430\u043b\u0435\u0435 \u043f\u0435\u0440\u0435\u0445\u043e\u0434\u0438\u043c \u043a Apache (mpm_prefork) \u0438 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0435 \u00ab\u0433\u0440\u044f\u0437\u043d\u043e\u0433\u043e\u00bb \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u044f \u043f\u0430\u043c\u044f\u0442\u0438 \u043c\u0435\u0436\u0434\u0443 \u0437\u0430\u043f\u0440\u043e\u0441\u0430\u043c\u0438 (CVE-2026-109619). \u0421\u0430\u043c\u044b\u0439 \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0441\u043f\u043e\u0441\u043e\u0431 \u0433\u0430\u0440\u0430\u043d\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c, \u0447\u0442\u043e \u043d\u0438 \u043e\u0434\u0438\u043d \u0437\u0430\u043f\u0440\u043e\u0441 \u043d\u0438\u043a\u043e\u0433\u0434\u0430 \u043d\u0435 \u0443\u0432\u0438\u0434\u0438\u0442 \u043f\u0430\u043c\u044f\u0442\u044c \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0435\u0433\u043e \u0437\u0430\u043f\u0440\u043e\u0441\u0430 \u0432 mod_php \u2014 \u0443\u0431\u0438\u0432\u0430\u0442\u044c \u0434\u043e\u0447\u0435\u0440\u043d\u0438\u0439 \u043f\u0440\u043e\u0446\u0435\u0441\u0441 Apache \u0441\u0440\u0430\u0437\u0443 \u043f\u043e\u0441\u043b\u0435 \u0437\u0430\u0432\u0435\u0440\u0448\u0435\u043d\u0438\u044f \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u044f. \u0412 mpm_tuning.conf \u043c\u0435\u043d\u044f\u0435\u043c MaxConnectionsPerChild \u0441 1000 \u043d\u0430 1:   &lt;IfModule mpm_prefork_module&gt;    StartServers             16    MinSpareServers          16    MaxSpareServers          64    ServerLimit              1024    MaxRequestWorkers        1024    MaxConnectionsPerChild   1&lt;\/IfModule&gt;\u0414\u0430, \u044d\u0442\u043e \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u0442 \u043d\u0435\u0431\u043e\u043b\u044c\u0448\u043e\u0439 \u043e\u0432\u0435\u0440\u0445\u0435\u0434 \u043d\u0430 fork() \u0432 \u044f\u0434\u0440\u0435 \u041e\u0421, \u043d\u043e \u043d\u0430 \u0441\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u043c Linux \u0441 Copy-on-Write \u0438 \u043f\u0440\u043e\u0433\u0440\u0435\u0442\u044b\u043c \u043f\u0443\u043b\u043e\u043c MinSpareServers 16 \/ MaxSpareServers 64 \u043d\u0430\u0433\u0440\u0443\u0437\u043a\u0430 \u043d\u0430 CPU \u0432\u044b\u0440\u043e\u0441\u043b\u0430 \u0432 \u043f\u0440\u0435\u0434\u0435\u043b\u0430\u0445 \u0441\u0442\u0430\u0442\u0438\u0441\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0439 \u043f\u043e\u0433\u0440\u0435\u0448\u043d\u043e\u0441\u0442\u0438, \u0437\u0430\u0442\u043e \u0432\u0435\u043a\u0442\u043e\u0440 \u043f\u0435\u0440\u0435\u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f \u0438\u0441\u043f\u043e\u0440\u0447\u0435\u043d\u043d\u043e\u0439 \u043f\u0430\u043c\u044f\u0442\u0438 \u0432\u043e\u0440\u043a\u0435\u0440\u0430 \u0443\u043d\u0438\u0447\u0442\u043e\u0436\u0435\u043d \u0444\u0438\u0437\u0438\u0447\u0435\u0441\u043a\u0438.\u0422\u0430\u043c \u0436\u0435, \u0432 \u043a\u043e\u043d\u0444\u0438\u0433\u0430\u0445 \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u044b\u0445 \u0445\u043e\u0441\u0442\u043e\u0432 Apache, \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u043c \u0436\u0435\u0441\u0442\u043a\u043e\u0435 \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u0435 \u043d\u0430 \u0440\u0430\u0437\u043c\u0435\u0440 \u0442\u0435\u043b\u0430 \u0437\u0430\u043f\u0440\u043e\u0441\u0430 LimitRequestBody 33554432 (32 \u041c\u0411) \u0432 \u043a\u0430\u0436\u0434\u044b\u0439 \u0431\u043b\u043e\u043a &lt;Directory&gt;:   &lt;Directory \/var\/www\/apache_1\/htdocs&gt;    Options FollowSymLinks Indexes    AllowOverride All    Require all granted    LimitRequestBody 33554432&lt;\/Directory&gt;\u0417\u0430\u0447\u0435\u043c \u044d\u0442\u043e \u043d\u0443\u0436\u043d\u043e, \u0435\u0441\u043b\u0438 \u0432\u043f\u0435\u0440\u0435\u0434\u0438 \u0441\u0442\u043e\u0438\u0442 Varnish?  \u0410 \u0437\u0430\u0442\u0435\u043c, \u0447\u0442\u043e \u0432 HTTP\/1.1 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u0435\u0442 Transfer-Encoding: chunked, \u0433\u0434\u0435 \u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043e\u043a Content-Length \u043e\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0443\u0435\u0442, \u0438 Apache \u0431\u0443\u0434\u0435\u0442 \u0441\u0447\u0438\u0442\u0430\u0442\u044c \u0440\u0435\u0430\u043b\u044c\u043d\u044b\u0435 \u043f\u0440\u043e\u0447\u0438\u0442\u0430\u043d\u043d\u044b\u0435 \u0431\u0430\u0439\u0442\u044b \u0438\u0437 \u043f\u043e\u0442\u043e\u043a\u0430.\u0420\u0443\u0431\u0435\u0436 3: \u041e\u0442\u0441\u0435\u043a\u0430\u0435\u043c \u0430\u0442\u0430\u043a\u0438 \u043d\u0430 \u0434\u0430\u043b\u044c\u043d\u0438\u0445 \u043f\u043e\u0434\u0441\u0442\u0443\u043f\u0430\u0445 \u0432 Varnish VCL\u0417\u0430\u0447\u0435\u043c \u0432\u043e\u043e\u0431\u0449\u0435 \u043f\u0443\u0441\u043a\u0430\u0442\u044c \u043f\u043e\u0434\u043e\u0437\u0440\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0435 \u0437\u0430\u043f\u0440\u043e\u0441\u044b \u0432 \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u044b \u0441 Apache, \u0435\u0441\u043b\u0438 \u043f\u0435\u0440\u0435\u0434 \u043d\u0438\u043c\u0438 \u0441\u0442\u043e\u0438\u0442 Varnish? \u041f\u043e\u0441\u043a\u043e\u043b\u044c\u043a\u0443 \u0447\u0435\u0440\u0435\u0437 \u043d\u0430\u0448 Varnish \u043f\u0440\u043e\u0445\u043e\u0434\u044f\u0442 \u0437\u0430\u043f\u0440\u043e\u0441\u044b \u043a\u0430\u043a \u043a Node.js, \u0442\u0430\u043a \u0438 \u043a PHP-\u0431\u044d\u043a\u0435\u043d\u0434\u0430\u043c (apache_1 \u0438 apache_2), \u044f \u0434\u043e\u0431\u0430\u0432\u0438\u043b \u0432 sub vcl_recv \u0442\u043e\u0447\u0435\u0447\u043d\u043e\u0435 \u043f\u0440\u0430\u0432\u0438\u043b\u043e \u0442\u043e\u043b\u044c\u043a\u043e \u0434\u043b\u044f PHP-\u0431\u044d\u043a\u0435\u043d\u0434\u043e\u0432:   \u0424\u0440\u0430\u0433\u043c\u0435\u043d\u0442 \u043a\u043e\u0434\u0430    # &#8212; \u0417\u0410\u0429\u0418\u0422\u0410 PHP-\u0411\u042d\u041a\u0415\u041d\u0414\u041e\u0412 \u041e\u0422 PHP2Shell (CVE-2026-109618 \/ CVE-2026-109619) &#8212;    if (req.backend_hint == apache_1 || req.backend_hint == apache_1) {        # 1. \u0411\u043b\u043e\u043a\u0438\u0440\u0443\u0435\u043c \u043f\u043e\u043f\u044b\u0442\u043a\u0438 \u043c\u0430\u043d\u0438\u043f\u0443\u043b\u044f\u0446\u0438\u0438 \u0433\u043b\u043e\u0431\u0430\u043b\u044c\u043d\u044b\u043c \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0435\u043c \u0447\u0435\u0440\u0435\u0437 upload progress        if (req.http.Cookie ~ &#171;PHP_SESSION_UPLOAD_PROGRESS&#187; || req.url ~ &#171;PHP_SESSION_UPLOAD_PROGRESS&#187;) {            return (synth(403, &#171;Forbidden&#187;));        }        # 2. \u041e\u0442\u0441\u0435\u043a\u0430\u0435\u043c POST-\u0437\u0430\u043f\u0440\u043e\u0441\u044b \u0441\u0432\u044b\u0448\u0435 32 \u041c\u0411 (33554432 \u0431\u0430\u0439\u0442) \u0434\u043e \u043f\u043e\u043f\u0430\u0434\u0430\u043d\u0438\u044f \u0432 Apache\/PHP        if (req.method == &#171;POST&#187; &amp;&amp; std.integer(req.http.Content-Length, 0) &gt; 33554432) {            return (synth(413, &#171;Request Entity Too Large&#187;));        }    }\u041a\u0430\u0437\u0430\u043b\u043e\u0441\u044c \u0431\u044b, \u0432\u0441\u0451 \u0433\u043e\u0442\u043e\u0432\u043e. \u041d\u043e \u043a\u043e\u0433\u0434\u0430 \u044f \u043d\u0430\u0447\u0430\u043b \u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044e \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e curl, \u0432\u0441\u043a\u0440\u044b\u043b\u0438\u0441\u044c \u0434\u0432\u0430 \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u0435\u0439\u0448\u0438\u0445 \u0438\u043d\u0444\u0440\u0430\u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u043d\u044b\u0445 \u043d\u044e\u0430\u043d\u0441\u0430.\u0422\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u0431\u043e\u0435\u043c \u0438 \u0434\u0432\u0430 \u043d\u0435\u043e\u0447\u0435\u0432\u0438\u0434\u043d\u044b\u0445 \u0441\u044e\u0440\u043f\u0440\u0438\u0437\u0430\u041f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u043c \u0444\u0438\u043b\u044c\u0442\u0440\u0430\u0446\u0438\u044e PHP_SESSION_UPLOAD_PROGRESS:# \u0417\u0430\u043f\u0440\u043e\u0441 \u043a PHP-\u0431\u044d\u043a\u0435\u043d\u0434\u0443:curl -k -I -s&#8230;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[],"tags":[],"class_list":["post-499833","post","type-post","status-publish","format-standard","hentry"],"_links":{"self":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/499833","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=499833"}],"version-history":[{"count":0,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/499833\/revisions"}],"wp:attachment":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=499833"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=499833"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=499833"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}