Сигурност

Редакция Overclock.bg ·

PHP2Shell се експлоатира: сървърът падна за 19 часа

PHP2Shell се експлоатира: сървърът падна за 19 часа

Трите дни между кръпките и първите потвърдени пробиви се оказаха достатъчни. Двете критични уязвимости в PHP, известни като PHP2Shell (CVE-2026-109618 и CVE-2026-109619, CVSS 9.2), вече се експлоатират масово в интернет — BleepingComputer съобщава за първите документирани случаи на отдалечено изпълнение на код от 24 октомври, а The Hacker News описва вече пострадали държавни агенции, банки, летища и логистични компании.

Какво точно чупи PHP2Shell

Двата бъга са проблеми с паметта в самото ядро на PHP. Първият позволява прекъсване при изчерпана памет (OOM) в момент, в който вътрешните данни на заявката са само частично инициализирани. Вторият оставя вътрешно състояние да „преживее“ освобождаването на паметта си и следваща заявка да го използва. Резултатът е разкриване на памет, повреждане на паметта и в крайна сметка изпълнение на команди — без автентикация, преди кода на приложението изобщо да се стартира.

Най-застрашени са инсталациите с mod_php под Apache, но засегнати са и PHP-FPM, php-cgi, FrankenPHP и LiteSpeed. Официалното съобщение на php.net от 21 октомври дава поправките: 8.5.12, 8.4.27, 8.3.36 и 8.2.35, плюс бекпортове за 7.4, 8.0 и 8.1. Уязвимият диапазон тръгва чак от PHP 5.4.

php -v        # всичко под 8.2.35 / 8.3.36 / 8.4.27 / 8.5.12 е уязвимо

Мащабът е причината за паниката: Wiz, които откриват първия бъг на 19 август и докладват на 24 август, говорят за код, който стои зад около 70% от сайтовете в света. BleepingComputer брои 5,1 милиона PHP хоста в интернет, от които около 3,8 милиона с поне един отворен порт към атака.

Атаките: 1,6 милисекунди до команда

Наблюденията идват от honeypot мрежите на Адел Карими, който документира 800 KiB изтекла памет в декодирани бисквитки, извличане на адреси на функции по публични offset-и и изпълнена команда около 1,6 милисекунди след приключване на заявката — тоест истинско RCE, а не просто сриване на процеса.

The Hacker News изброява 216 непоправени или частично защитени хоста в САЩ, Япония, Южна Корея, Тайланд, Индонезия, Австралия, Тайван, Индия, Сингапур, ОАЕ, Саудитска Арабия и ЕС. При една европейска държавна агенция пътят от пробив до изнесени идентификационни данни е отнел два часа.

Най-неприятната подробност е какво следва след пробива: разузнаването на базата с хешове и 2FA тайни, NTLM relay тунелът към Active Directory и опитите за Domain Admin се водят от агентен AI, а изходът е обграден с маркери от рода на ==SHELLUSER==, за да е лесен за парсване от модела. Атрибуцията засега е предпазлива — умерена увереност към Lazarus. Звучи познато: наскоро писахме и как агенти на OpenAI свързаха 0-day бъгове в бягство от виртуална машина.

Внимание

Индикаторът за компрометиране по ReliaQuest е последователност: POST заявка, която връща 500, изчерпана памет или повредена heap структура и сринат Apache worker. Трета уязвимост от същото семейство, CVE-2026-115560, все още няма кръпка.

Биткойнът, който никой не взе

Докато това се случва, някой реши да провери на практика твърдението, че AI вече прави експлоатацията тривиална. Сайтът stealmybitcoin.com качи онлайн непоправен PHP сървър с частен ключ върху него и награда, нараснала с дарения до 0,02511679 BTC (около 2 021 щ.д., приблизително 1 750 евро по курса тогава). Tom’s Hardware описа експеримента, докато сървърът още стоеше непробит, именно като тест на тезата, че разликата между „критичен CVE“ и „практически експлоатируем“ се е стопила.

Тезата издържа само донякъде. Изследовател с псевдоним killa стигна до изпълнение на код на 25 октомври в 15:47 UTC, или 19,28 часа след старта, и публикува PoC — два изтичания на памет (едното дава heap адрес, другото адрес в кода на PHP), след което подправена структура кара PHP да извика system(). Надеждността е около 7 успешни от 10 опита в лабораторни условия.

Ключът на сървъра обаче се оказа от грешен клон на портфейла и не отключваше наградата — организаторът все пак призна победата и преведе сумата същата вечер. Тоест машината падна, но не заради AI сама по себе си — и не достатъчно бързо, че да потвърди най-гръмките прогнози.

Разкриването като дисциплина

Колоната на Рупърт Гудуинс в The Register изважда поуката: LLM-ите намират бъговете през август и до дни има работещ експлойт, а атаките тръгват преди публичното съобщение. Предложението му е разкриването да стане дисциплина, не протокол — абсолютният минимум хора да пазят тайната възможно най-дълго, с класификация на критичните компоненти и щатни „patch liaison“ позиции по подобие на разузнавателните практики от войната.

Практическият извод за вас е по-прост и познат от критичната дупка в Brotli: обновете PHP днес, не този уикенд. Ако нямате как веднага, Sansec предлага временни мерки в анализа си, но предупреждава, че настройка като memory_limit = -1 позволява една заявка да изяде цялата памет на сървъра. Това не е решение, а отлагане — и прозорецът вече не се мери в дни.

Харесва ви? Отбележете ни и ще ни виждате по-нагоре в Google.

Предпочитан източник в Google

Прочетете още