Картина на риска
Описваме домейните, сайтовете, CMS, PHP, библиотеките, панелите и отворените услуги. Подреждаме находките по риск и влияние върху бизнеса.
DK Web Studio
PHP2Shell, CVE-2026-109618 и CVE-2026-109619: практически проверки на PHP, Linux и WordPress, обновяване, контрол на достъпа и реакция при съмнение за пробив.
Избираме мерките според платформата, достъпите и риска. В офертата описваме кои системи и проверки са включени.
Описваме домейните, сайтовете, CMS, PHP, библиотеките, панелите и отворените услуги. Подреждаме находките по риск и влияние върху бизнеса.
Архивираме файловете, базите и нужните настройки. Уточняваме защитено съхранение, срок на пазене и проверка за възстановяване на договорения обхват.
Проверяваме актуализациите от официалните доставчици. Обновяваме операционната система, PHP, CMS и зависимостите след проверки за съвместимост.
Ограничаваме панелите чрез VPN или подходящ контрол на достъпа. Настройваме MFA, SSH ключове и отделни роли според възможностите на системата.
Преглеждаме firewall, ненужните портове, старите сайтове и тестовите копия. Архивираме и изключваме неизползваното след съгласуване.
Разделяме приложенията и потребителите, ограничаваме файловите права и достъпа до конфигурации, резервни копия и тайни извън публичната директория.
Преглеждаме входните форми, сесиите, CSRF защитата, ограниченията за заявки, TLS и HTTP заглавките. При нужда настройваме WAF и проверяваме съвместимостта.
Определяме кои логове, сигнали, проверки за наличност и актуализации да се следят. Предаваме отчет, оставащи задачи и стъпки при инцидент.
Опис, проверка на конфигурацията и доклад с приоритети. Подходящо, когато първо искате ясна оценка.
Съгласуван план с архив, тестово обновяване, внедряване и проверка след промяната.
Периодични обновявания, проверки и наблюдение по договорен обхват. Честотата и времето за реакция се уточняват в офертата.
Работим само по системи, за които имате право да възложите проверка. Мерките намаляват риска, но не дават абсолютна защита от всяка бъдеща атака. При съмнение за активен пробив първо уточняваме ограничаването на инцидента и запазването на доказателствата. Не изпращайте пароли през формата за запитване.
Когато търсите „нов PHP вирус“ или „хакнат WordPress“, първата стъпка е да установите причината. PHP2Shell е име на уязвимости в PHP, а не име на вирус. Уязвимостта сама по себе си не доказва, че сайтът вече е заразен.
CVE-2026-109618 и CVE-2026-109619 засягат обработването на заявки и паметта. При засегната конфигурация е възможно изпълнение на код от неидентифициран отдалечен нападател.
Прочетете известието на Red Hat ↗Публикуваните поправени upstream версии от 21 октомври са 8.2.35, 8.3.36, 8.4.27 и 8.5.12. Използвайте актуалната поправена версия за вашия поддържан клон. При Linux дистрибуция проверявайте нейния security бюлетин — номерът може да е различен.
Официалните съобщения на PHP ↗На 23 октомври PHP препоръчва session.upload_progress.enabled=0 до следващата редовна bugfix версия за малко вероятен допълнителен RCE сценарий. Прегледайте конкретните условия в известието и приложете настройката в реално използвания PHP handler.
Ubuntu 24.04 посочва поправка за двете CVE в пакет 8.3.6-0ubuntu0.24.04.13. Това е поправка, пренесена от доставчика, а не непременно upstream 8.3.36. Проверете точния пакет, изданието на системата и източника на инсталацията.
ПОЛЕЗНО В ТЕРМИНАЛА
Изберете вашата среда. Всяка проверка обяснява какво показва и какво остава непроверено.
Показва пълните пакетни версии. Сравнете всяка с известието за вашата дистрибуция.
php -v
php --ini
dpkg-query -W -f='${Package} ${Version}\n' 'php*'
systemctl list-unit-files 'php*-fpm.service'Как да разчетете резултата: Не доказва коя PHP версия обслужва всеки домейн. Проверете настройката на сайта и отделните FPM пулове.
Проверете слушащите услуги и правилата, без да променяте firewall.
sudo ss -lntup
sudo ufw status verbose
sudo sshd -T | grep -E '^(passwordauthentication|permitrootlogin|pubkeyauthentication)'Как да разчетете резултата: Изходът показва локалното състояние. Проверете и IPv6, защитната стена при доставчика и достъпа от външна мрежа.
Пример за PHP 8.3 FPM; заменете версията с реалната. Командата не записва настройки.
sudo php-fpm8.3 -i | grep -E 'session.upload_progress.enabled|session.serialize_handler|Loaded Configuration File'Как да разчетете резултата: CLI и FPM могат да зареждат различни ini файлове. Проверете и overrides в пуловете. Не публикувайте phpinfo() като публична страница.
Заменете примерния път със своя сайт. Това е списък за преглед, а не автоматично разпознаване на зловреден код.
SITE_ROOT=/path/to/your/site
find "$SITE_ROOT" -xdev -type f -mtime -7 -print
find "$SITE_ROOT" -xdev -type f -perm -0002 -print
systemctl --failedКак да разчетете резултата: Нов файл може да е нормална актуализация. Сравнявайте с доверен архив, Git или известна чиста версия. Не трийте намереното автоматично.
При наличен WP-CLI изпълнете като потребителя на сайта, в правилната инсталация.
SITE_ROOT=/path/to/wordpress
wp --path="$SITE_ROOT" core version --skip-plugins --skip-themes
wp --path="$SITE_ROOT" core verify-checksums --include-root
wp --path="$SITE_ROOT" plugin list --fields=name,status,version --skip-plugins --skip-themes
wp --path="$SITE_ROOT" theme list --fields=name,status,version --skip-plugins --skip-themesКак да разчетете резултата: Проверката на ядрото не проверява всички плъгини, базата или наличието на пробив. При съмнение за заразена инсталация работете в изолирано копие.
В директорията на приложението, като обикновен потребител. Не изпълнявайте непознати скриптове като root.
composer --no-plugins --no-scripts audit --locked
composer --no-plugins --no-scripts check-platform-reqs --lockКак да разчетете резултата: Audit проверява известни проблеми в отчетените зависимости. Нулеви находки не означават пълна сигурност. Audit може да свърже имена и версии на пакетите с външен източник за advisories.
Изпратете това като техническо запитване през официалния панел на доставчика.
Моля потвърдете за всеки мой домейн:
1. Реалната PHP версия и handler (FPM/CGI/mod_php).
2. Пълната версия на пакета и приложените security поправки.
3. Статуса за CVE-2026-109618 и CVE-2026-109619.
4. Проверена ли е препоръката от PHP от 23.10.2026 за session.upload_progress.enabled?
5. Обновени и презаредени ли са всички използвани PHP процеси?
6. Има ли стар PHP в панела, webmail, cron или контейнери?
7. Как мога да възстановя сайта и базата от проверен архив?Как да разчетете резултата: Не изпращайте пароли, SSH ключове, дампове на бази или публични линкове към архиви. Искайте доказателство за поправката, а не само уверение за WAF.
Нужни са права за собствената или възложената система. Някои команди изискват sudo и инсталиран инструмент. Командите не обновяват PHP и не са тест чрез експлоатиране на уязвимост.
ПРАКТИЧЕСКО РЪКОВОДСТВО · 24.10.2026
Последователен план за собственици и администратори на сайтове. Започнете с опис и архив, отстранете причината, после проверете работата.
Командите са примери за собствена или изрично възложена система. Те не са универсален скрипт за автоматично изпълнение. Имената на пакетите, услугите и пътищата зависят от хостинга. При споделен хостинг част от действията се извършват от доставчика.
Опишете кои сайтове, бази, пощенски услуги и панели са ваши и кой ги администрира. Запишете важните процеси: вход, поръчки, плащания, имейли, справки и експорти. Определете допустимото прекъсване и човек за потвърждаване на резултата.
Направете архив на файловете, базите и конфигурацията извън публичната директория. Пазете отделно копие с ограничен достъп. Проверете възстановяване в изолирана среда. Snapshot на доставчика е полезен допълнителен слой, но не заменя проверено копие на данните. Осигурете конзолата на хостинга, преди да променяте SSH, VPN или firewall.
За Linux сървър започнете с версията на системата, активните услуги, слушащите портове и неуспешните системни задачи. Следните примери са за администратор на Ubuntu/Debian и не променят конфигурацията:
cat /etc/os-release
uname -r
systemctl --failed
systemctl list-units --type=service --state=running
sudo ss -lntupСъпоставете всеки порт с реална нужда. База данни, административен панел и вътрешен API обикновено не трябва да са достъпни за целия интернет. Проверете достъпността и от външна мрежа: локално слушащ порт може вече да е блокиран от firewall. Не спирайте непозната услуга, преди да установите кой я използва.
След проверен архив обновете пакетния индекс и прегледайте наличните версии:
sudo apt update
apt list --upgradable
apt-cache policy php8.3-fpm php8.3-cli
test -f /var/run/reboot-required && cat /var/run/reboot-requiredИмената на PHP пакетите са примерни: заменете ги с действително инсталирания клон. Съпоставете пълната версия на пакета и изданието на Ubuntu с официалното известие за сигурност. Дистрибуциите могат да пренасят поправки в пакет с по-стар основен номер; само изходът на php -v не доказва наличие или липса на поправка.
Инсталирането на обновления и евентуален рестарт се планират в прозорец за поддръжка. След това проверете услугите и сайта. За неподдържана система подгответе миграция в тестова среда, вместо да добавяте случайни хранилища.
Проверете отделно PHP в командния ред, PHP-FPM или Apache, cron задачите, контейнерите и софтуера на хостинг панела. Един актуален публичен сайт не означава, че уебпощата или инструментът за базите използват същата версия.
php -v
php --ini
systemctl list-unit-files 'php*-fpm.service'
dpkg-query -W 'php*'Съпоставете всеки виртуален хост с неговия PHP обработчик. Обновете всички използвани изпълними среди от доверен източник. Старите услуги се спират едва след проверка на зависимостите и успешна миграция. Ако нова версия счупи приложение, поправете съвместимостта в копие; не приемайте връщането към неподдържан PHP като постоянно решение. Не оставяйте публичен phpinfo() файл след проверката.
Проверете ядрото и разширенията на WordPress или друга CMS. Премахнете неизползваните компоненти след архив. За Composer проект изпълнете от директорията му с обикновения потребител на приложението:
composer validate --no-check-publish
composer audit --locked --no-dev
composer check-platform-reqs --no-devОдитът проверява известни съобщени проблеми в зависимостите; чист резултат не удостоверява целия потребителски код. Прегледайте и изоставените пакети. Изберете съвместими версии, обновете lock файла в тестово копие, проверете миграциите и основните процеси. Не изпълнявайте безразборно composer update в работещата продукция.
Направете списък на FASTPANEL, phpMyAdmin, уебпоща, SSH, CMS входове и вътрешни системи. За нуждаещите се от ограничаване услуги изберете VPN с отделен ключ за всяко устройство или подходяща идентификационна защита с MFA. Различни профили в панела не трябва да заобикалят мрежовото ограничение.
Проверете основния домейн, директния IP адрес, IPv6, алтернативните имена, портове и backend адреси. Защитете origin сървъра, а не само входния адрес зад прокси. Изпробвайте достъп от доверено устройство и отказ от външна мрежа. Запишете процедура за отнемане на изгубено устройство и авариен достъп през конзолата на доставчика.
Използвайте индивидуални профили и ключове, ограничени sudo права и MFA, когато средата го поддържа. Преди изключване на паролите проверете вход с ключ в отделна сесия. Пазете текущата връзка отворена, докато потвърдите новия вход.
sudo sshd -t
sudo sshd -TПървата команда проверява синтаксиса, а втората показва ефективната конфигурация. Прегледайте и включваните настройки в sshd_config.d; условията Match могат да променят поведението за конкретен потребител. Приложете настройките с подходящо reload действие едва след успешна проверка и осигурена аварийна конзола.
Съгласувайте защитната стена на доставчика с тази на самия сървър. За система с UFW прегледът е:
sudo ufw status verbose
sudo ufw status numberedРазрешете нужния административен маршрут, преди да ограничавате останалото. Проверете IPv4 и IPv6, пощата, DNS и подновяването на сертификатите. Не копирайте произволни правила и не включвайте firewall дистанционно без план за възстановяване. При Docker проверете действителните мрежови правила и публикуваните портове.
WAF и ограниченията за опити за вход могат да намалят определени атаки. Те не поправят уязвимия код и не заменят актуализациите. Проверете, че правилата не блокират нормални форми, API и качвания.
Разделете независимите приложения по системни потребители и PHP-FPM пулове, когато архитектурата го позволява. Дайте право за запис само на нужните upload, cache и runtime директории. Масово задаване на 777 не е поправка.
Конфигурации с пароли, базови SQL архиви, Git история и резервни копия трябва да са извън публичния корен или изрично недостъпни през уеб сървъра. За всеки сайт използвайте отделен потребител на базата с необходимите права. Проверете дали базата слуша само на нужен интерфейс. При доказано изтичане сменете засегнатите тайни след ограничаване и почистване на средата; изтриването на един подозрителен файл не премахва непременно достъпа на атакуващия.
Проверете сървърната валидация, параметризираните SQL заявки, кодирането на изхода, проверките на роли и собствеността на записите. За променящи данни действия използвайте подходящата CSRF защита на рамката. HTTPS и SameSite са допълващи мерки, а не заместител на всички проверки.
При качване използвайте списък с разрешени типове, ограничения на размера, проверка на действителния формат и генерирани имена. Каченото съдържание не трябва да се изпълнява като PHP. Съхранявайте файловете извън изпълнимия корен, когато е възможно. Проверете възстановяването на парола, MFA, прекратяването на сесии и ограниченията за многократни опити за вход.
Проверете валидността на сертификата, имената, веригата и автоматичното подновяване. Изпробвайте HTTP, HTTPS, www и основния домейн. Заглавки като HSTS, CSP, защита от вграждане и nosniff се въвеждат според приложението и след проверка.
curl -I https://example.com/
sudo nginx -texample.com е примерен адрес: използвайте собствения си домейн. CSP трябва да разрешава необходимите ресурси, без произволни широки изключения. HSTS с поддомейни може да засегне други услуги; не го активирайте без инвентаризация. След успешен nginx -t приложете промяната чрез reload и проверете сайта отново. При Apache използвайте неговия конфигурационен тест.
Определете какво се следи: грешки в приложенията, неуспешни входове, административни промени, запълване на диска, наличност, срок на сертификатите и успех на архивирането. Сигналът трябва да стига до човек с ясно действие, а не само да се записва.
df -h
systemctl --failed
sudo journalctl -p warning --since todayНе публикувайте логове и заявки с лични данни или токени. Настройте срок на съхранение и ограничен достъп. Проверявайте дали антивирусните сигнатури и правилата се обновяват, ако използвате такива инструменти. Периодично правете възстановяване на избран архив и документирайте резултата.
Ограничете засегнатата услуга и запазете логовете, времевата линия и снимка на състоянието, преди почистване. Преценете дали има изтичане на данни, други засегнати приложения и задължения за уведомяване според конкретния случай.
Отстранете първоначалната причина, проверете други акаунти и механизми за постоянен достъп и възстановете от доверен източник. Сменете засегнатите пароли, ключове и сесии от чисто устройство след овладяване на средата. Не приемайте липсата на видими странни файлове за доказателство, че всичко е чисто.
Повторете проверките на версиите и достъпите. Потвърдете вход, роли, форми, изпращане на поща, поръчки, плащания и външни интеграции според действителните функции. Сравнете ключови справки, броя записи и експортите при миграция.
Проверете публичния сайт от телефон и външна мрежа, а административния достъп — от разрешено и неразрешено устройство. Запишете извършеното, неприключените рискове и следващата проверка. Резултатът от автоматичен скенер или Lighthouse е част от доказателствата, не сертификат за пълна сигурност.
ПЪРВОИЗТОЧНИЦИ
Кратки извадки с връзки към оригинала. Преводите и практическите обяснения на тази страница са наши; при промяна в известията проверявайте актуалния текст.
PHP GROUP · 23.10.2026
“We suggest you set session.upload_progress.enabled=0 until the next regular bugfix release”
Препоръката е допълнителна стъпка, а не заместител на обновяването. Официалното съобщение описва и специфичните условия за сценария.
Оригиналното съобщение ↗CANONICAL / UBUNTU
“Fixed in 8.3.6-0ubuntu0.24.04.13”
Статусът е за PHP 8.3 в Ubuntu 24.04 за CVE-2026-109618 и CVE-2026-109619. Не пренасяйте тази оценка върху друг пакет или операционна система.
Пълната таблица на Ubuntu ↗COMPOSER
Официалната команда audit проверява отчетените зависимости за известни security advisories. Тя не сканира целия сървър и не доказва липса на заразяване.