CGI горимд ажиллах үед кодыг гүйцэтгэх боломжийг олгодог PHP-ийн эмзэг байдал

PHP дээр CGI горимд PHP ашиглах үед сервер дээр кодыг гүйцэтгэх эсвэл PHP скриптийн эх кодыг үзэх боломжийг олгодог эмзэг байдал (CVE-2024-4577) илэрсэн. Windows (Mod_php, php-fpm, болон FastCGI-тай тохиргоонууд эмзэг биш). Асуудлыг PHP 8.3.8, 8.2.20, болон 8.1.29 хувилбаруудад зассан.

Эмзэг байдал нь 2012 онд зассан CVE-2012-1823 асуудлын онцгой тохиолдол бөгөөд нэмэлт хамгаалалт нь платформ дээрх халдлагыг хаахад хангалтгүй байсан. WindowsХалдлагын арга нь PHP тайлбарлагчийг ажиллуулахдаа хүсэлтийн параметрүүдийг PHP скриптэд өөрчлөх замаар команд мөрийн аргументыг орлуулахыг агуулдаг.

Хуучин CVE-2012-1823 эмзэг байдалд скриптийн эх кодыг харуулахын тулд лавлагааны параметрүүдийн оронд команд мөрийн сонголтуудыг, жишээлбэл "http://localhost/index.php?-s"-ийг тодорхойлоход л хангалттай байсан. Шинэ эмзэг байдал нь платформ дээр тулгуурладаг. Windows Зарим кодчилолд байгаа тэмдэгтүүдийг тодорхойлж, тэдгээрийг "-" тэмдэгтээр (жишээлбэл, http://localhost/index.php?%ads) сольж өмнө нь нэмэгдсэн хамгаалалтыг тойрч гарах боломжийг олгодог автомат тэмдэгт хөрвүүлэлтийг хангадаг.

Уламжлалт Хятад (cp950), Хялбаршуулсан Хятад (cp936) болон Япон (cp932) хэлний тохиргоонд энэ эмзэг байдал батлагдсан боловч бусад хэлэнд тохиолдож болзошгүй. Асуудал нь XAMPP багцын анхдагч тохиргоонд (Apache + MariaDB + PHP + Perl), мөн тохиргоог ашиглан php-cgi-г CGI скрипт зохицуулагч болгон тохируулсан Apache тохиргоонд гарч ирдэг.
'Action cgi-script "/cgi-bin/php-cgi.exe"' эсвэл 'Action application/x-httpd-php-cgi "/php-cgi/php-cgi.exe"' эсвэл php-г шууд байршуулах үед "/cgi-bin" дахь орчуулагч болон ScriptAlias ​​удирдамжаар CGI скриптүүдийг гүйцэтгэхийг зөвшөөрдөг бусад лавлах.

Нэмж дурдахад, PHP 8.3.8, 8.2.20 болон 8.1.29-ийн шинэчлэлтүүд нь өөр гурван эмзэг байдлыг зассан:

  • CVE-2024-5458 - Шүүлтүүрийг тойрч гарах боломж
    FILTER_VALIDATE_URL, filter_var функцийг дуудах үед ашигладаг.
  • CVE-2024-5585 нь CVE-2024-1874 эмзэг байдлын өөр нэг халдлагын вектор бөгөөд энэ нь өмнө нь нэмэгдсэн хамгаалалтыг тойрч гарах, платформ дээрх proc_open функцээр дамжуулан bat болон cmd файлуудыг дуудах үед командыг орлуулах боломжийг олгодог. Windows (BatBadBut эмзэг байдал).
  • openssl_private_decrypt функц нь Марвины халдлагад өртөмтгий байдаг.

Эх сурвалж: opennet.ru

DDoS хамгаалалт, VPS VDS сервер бүхий сайтуудад найдвартай хостинг худалдаж аваарай 🔥 DDoS хамгаалалттай, VPS VDS сервертэй найдвартай вэбсайт хостинг худалдаж аваарай | ProHoster