Π Π°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ PHP Π°Π½ΠΎΠ½ΡΠΈΡΠΎΠ²Π°Π»ΠΈ ΠΏΡΠ±Π»ΠΈΠΊΠ°ΡΠΈΡ ΡΠ΅Π³ΠΎΠ΄Π½Ρ Π² 17:00 (MSK) ΡΠΊΡΡΡΠ΅Π½Π½ΡΡ ΠΊΠΎΡΡΠ΅ΠΊΡΠΈΡΡΡΡΠΈΡ Π²ΡΠΏΡΡΠΊΠΎΠ² (8.5.12, 8.4.27, 8.3.36 ΠΈ 8.2.35), Π² ΠΊΠΎΡΠΎΡΡΡ Π±ΡΠ΄ΡΡ ΡΡΡΡΠ°Π½Π΅Π½Ρ Π΄Π²Π΅ ΠΊΡΠΈΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΠΈ. ΠΡΠ΅ΠΌ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡΠ°ΠΌ ΡΠ΅ΡΠ²Π΅ΡΠΎΠ² Ρ PHP ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΠΎΠ²Π°Π½ΠΎ Π½Π΅Π·Π°ΠΌΠ΅Π΄Π»ΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Π½Π° ΡΠ²ΠΎΠΈΡ ΡΠΈΡΡΠ΅ΠΌΠ°Ρ , ΡΡΠ°Π·Ρ ΠΏΠΎΡΠ»Π΅ ΠΈΡ Π²ΡΠΏΡΡΠΊΠ°. ΠΡΠΈΡΠΈΠ°Π»ΡΠ½ΠΎ Π΄Π΅ΡΠ°Π»ΠΈ Π±ΡΠ΄ΡΡ ΡΠ°ΡΠΊΡΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΠΎΡΠ»Π΅ ΠΏΠΎΡΠ²Π»Π΅Π½ΠΈΡ ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠΉ, Π½ΠΎ ΡΡΠ΄Ρ ΠΏΠΎ ΠΏΠΎΡΠ²ΠΈΠ²ΡΠ΅ΠΉΡΡ Π² ΠΎΡΠΊΡΡΡΠΎΠΌ Π΄ΠΎΡΡΡΠΏΠ΅ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ, ΡΠ΅ΡΡ ΠΏΡΠΎ ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΠΈ CVE-2026-109618 ΠΈ CVE-2026-109619, ΠΏΠΎΡΠ΅Π½ΡΠΈΠ°Π»ΡΠ½ΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠΈΠ΅ ΡΠ΄Π°Π»ΡΠ½Π½ΠΎ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΡΠ²ΠΎΠΉ ΠΊΠΎΠ΄ Π½Π° Π»ΡΠ±ΠΎΠΌ web-ΡΠ΅ΡΠ²Π΅ΡΠ΅, Π²ΡΠΏΠΎΠ»Π½ΡΡΡΠ΅ΠΌ PHP-ΡΠΊΡΠΈΠΏΡΡ Π² ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ. ΠΡΠΎΠ±Π»Π΅ΠΌΡ ΠΏΡΠΎΡΠ²Π»ΡΡΡΡΡ Π²ΠΎ Π²ΡΠ΅Ρ Π²Π΅ΡΡΠΈΡΡ , Π½Π°ΡΠΈΠ½Π°Ρ Ρ PHP 5.4.
Π ΡΠ΅ΡΠΈ ΡΠΆΠ΅ ΠΏΠΎΡΠ²ΠΈΠ»ΠΈΡΡ ΠΏΡΠΎΡΠΎΡΠΈΠΏΡ ΡΠΊΡΠΏΠ»ΠΎΠΈΡΠΎΠ² (1, 2) Π΄Π»Ρ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ ΠΏΠΎΠ΄Π²Π΅ΡΠΆΠ΅Π½Π½ΠΎΡΡΠΈ ΡΠΈΡΡΠ΅ΠΌ ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΠΈ. Π ΠΏΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΠΈ ΠΊ ΡΠΊΡΠΏΠ»ΠΎΠΈΡΡ ΡΡΠ²Π΅ΡΠΆΠ΄Π°Π΅ΡΡΡ, ΡΡΠΎ ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΠΈ Π²ΡΠ·Π²Π°Π½Ρ ΠΎΠ±ΡΠ°ΡΠ΅Π½ΠΈΠ΅ΠΌ ΠΊ ΡΠΆΠ΅ ΠΎΡΠ²ΠΎΠ±ΠΎΠΆΠ΄ΡΠ½Π½ΠΎΠΉ ΠΏΠ°ΠΌΡΡΠΈ Π² ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ΅ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π½ΠΈΡ ΠΏΡΠΎΠ³ΡΠ΅ΡΡΠ° Π·Π°Π³ΡΡΠ·ΠΊΠΈ ΡΠ°ΠΉΠ»ΠΎΠ² Π½Π° server (session.upload_progress). ΠΠ°Π»ΠΈΡΠΈΡ Π½Π° ΡΠ°ΠΉΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΡΡΠΈ Π΄Π»Ρ Π·Π°Π³ΡΡΠ·ΠΊΠΈ ΡΠ°ΠΉΠ»ΠΎΠ² Π΄Π»Ρ ΡΠΎΠ²Π΅ΡΡΠ΅Π½ΠΈΡ Π°ΡΠ°ΠΊΠΈ Π½Π΅ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ, Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΡΡΠ°Π±Π°ΡΡΠ²Π°Π½ΠΈΡ Π² PHP-ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡΠ΅ ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ° ΠΊΠΎΠ½ΡΠ΅Π½ΡΠ° Β«multipart/form-dataΒ». ΠΠ»Ρ ΡΡΠΏΠ΅ΡΠ½ΠΎΠΉ ΡΠΊΡΠΏΠ»ΡΠ°ΡΠ°ΡΠΈΠΈ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΡΠ°ΡΠΊΠ»Π°Π΄ΠΊΠΈ ΡΡΡΡΠΊΡΡΡ Π² ΠΏΠ°ΠΌΡΡΠΈ ΠΏΡΠΎΡΠ΅ΡΡΠ°, ΠΊΠΎΡΠΎΡΠ°Ρ ΡΠΏΠ΅ΡΠΈΡΠΈΡΠ½Π° Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΡΠ±ΠΎΡΠΊΠ΅ (ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° ΡΠ΅ΡΠ°Π΅ΡΡΡ ΠΏΠ΅ΡΠ΅Π±ΠΎΡΠΎΠΌ Π² ΡΠΊΡΠΏΠ»ΠΎΠΈΡΠ΅ ΡΠΌΠ΅ΡΠ΅Π½ΠΈΠΉ, Π·Π°ΡΠ°Π½Π΅Π΅ Π²ΡΡΠΈΡΠ»Π΅Π½Π½ΡΡ Π΄Π»Ρ ΠΏΠ°ΠΊΠ΅ΡΠΎΠ² ΠΈΠ· ΡΠ°Π·Π½ΡΡ Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠ²ΠΎΠ²).
Π ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΎΠ±Ρ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΏΡΡΠΈ Π·Π°ΡΠΈΡΡ Π²ΡΡΡΠ΅ΡΠ°ΡΡΡΡ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°ΡΠΈΠΈ Π²ΡΡΡΠ°Π²ΠΈΡΡ Π² php.ini ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ Β«session.upload_progress.enabled = offΒ» (ΠΈΠ»ΠΈ Β«php_admin_flag[session.upload_progress.enabled] = offΒ» Π² PHP-FPM), Π½ΠΎ ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΠΈΡΠ΅Π»Ρ ΠΏΡΠΎΠ΅ΠΊΡΠ° PHP, Π° ΡΠ°ΠΊΠΆΠ΅ Π°Π²ΡΠΎΡ ΠΏΠ΅ΡΠ²ΠΎΠ³ΠΎ ΠΏΡΠΎΡΠΎΡΠΈΠΏΠ° ΡΠΊΡΠΏΠ»ΠΎΠΈΡΠ° ΡΡΠ²Π΅ΡΠΆΠ΄Π°ΡΡ, ΡΡΠΎ Π΄Π»Ρ Π±Π»ΠΎΠΊΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΎΠ±Π΅ΠΈΡ ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΠ΅ΠΉ ΡΡΠΎΠ³ΠΎ Π½Π΅Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ. Π ΠΏΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΠΈ ΠΊΠΎ Π²ΡΠΎΡΠΎΠΌΡ ΠΏΡΠΎΡΠΎΡΠΈΠΏΡ ΡΠΊΡΠΏΠ»ΠΎΠΈΡΠ° ΡΠΏΠΎΠΌΠΈΠ½Π°Π΅ΡΡΡ, ΡΡΠΎ ΠΏΠΎΠΌΠΈΠΌΠΎ Π²ΡΡΠ΅ΡΠΏΠΎΠΌΡΠ½ΡΡΠΎΠΉ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ Π² php.ini Π΄Π»Ρ ΠΏΡΠ΅Π΄ΠΎΡΠ²ΡΠ°ΡΠ΅Π½ΠΈΡ Π°ΡΠ°ΠΊΠΈ Π±Π΅Π· ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΏΠ°ΡΡΠ° ΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΠΏΠΎΠ»Π½Π°Ρ Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠ° Π·Π°ΠΏΡΠΎΡΠΎΠ² Ρ ΡΠΈΠΏΠΎΠΌ ΠΊΠΎΠ½ΡΠ΅Π½ΡΠ° Β«multipart/form-dataΒ», ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΡΠΈΠ²Π΅Π΄ΡΡ ΠΊ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ Π·Π°Π³ΡΡΠ·ΠΊΠΈ ΡΠ°ΠΉΠ»ΠΎΠ² ΡΠ΅ΡΠ΅Π· web-ΡΠΎΡΠΌΡ.
Π Apache httpd Π΄Π»Ρ Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠΈ multipart-Π·Π°ΠΏΡΠΎΡΠΎΠ² ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π΅ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ Π² mod_rewrite:
RewriteCond %{HTTP:Content-Type} multipart [NC]
RewriteRule ^ β [F,L]
ΠΠ»Ρ Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠΈ Π² nginx:
if ($http_content_type ~* Β«multipartΒ») {
403ni qaytarish;
}
ΠΠ»Ρ Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠΈ Π² Caddy:
@multipart header_regexp Content-Type (?i)multipart
respond @multipart 403
ΠΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅: ΠΠΏΡΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½Ρ ΠΊΠΎΡΡΠ΅ΠΊΡΠΈΡΡΡΡΠΈΠ΅ Π²ΡΠΏΡΡΠΊΠΈ PHP 8.5.12, 8.4.27, 8.3.36 ΠΈ 8.2.35, Π° ΡΠ°ΠΊΠΆΠ΅ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎΡΡΠΈ ΠΎΠ± ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½Π½ΡΡ
ΠΊΡΠΈΡΠΈΡΠ΅ΡΠΊΠΈΡ
ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΡΡ
. Π Π°Π·Π±ΠΎΡ ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΠ΅ΠΉ ΠΈ ΠΎΡΠΈΡΠΈΠ°Π»ΡΠ½ΠΎ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΠΎΠ²Π°Π½Π½ΡΡ
ΠΎΠ±Ρ
ΠΎΠ΄Π½ΡΡ
ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² Π·Π°ΡΠΈΡΡ ΠΎΠΏΡΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½ Π² ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎΠΉ Π½ΠΎΠ²ΠΎΡΡΠΈ.
Manba: opennet.ru
