{"id":22083,"date":"2026-10-23T05:56:32","date_gmt":"2026-10-22T21:56:32","guid":{"rendered":"https:\/\/synopower.club\/?p=22083"},"modified":"2026-10-23T05:56:32","modified_gmt":"2026-10-22T21:56:32","slug":"synology-php2shell-emergency-patch","status":"publish","type":"post","link":"https:\/\/synopower.club\/pl\/synology-php2shell-emergency-patch\/","title":{"rendered":"PHP2Shell na Synology: Jak zaktualizowali\u015bmy sze\u015b\u0107 witryn w jeden dzie\u0144"},"content":{"rendered":"<p class=\"wp-block-paragraph\"><strong>PHP2Shell<\/strong> To nazwa, kt\u00f3r\u0105 bran\u017ca przyj\u0119\u0142a dla CVE-2026-109618 i CVE-2026-109619, pary krytycznych luk w samym silniku PHP, kt\u00f3re umo\u017cliwiaj\u0105 nieuwierzytelnione zdalne wykonywanie kodu. Szczeg\u00f3\u0142y wyciek\u0142y 20 pa\u017adziernika 2026 roku, dzie\u0144 przed skoordynowanym ujawnieniem, a projekt PHP wyda\u0142 awaryjne wersje 21 pa\u017adziernika. Poniewa\u017c b\u0142\u0105d wyst\u0119puje w interpreterze, a nie w \u017cadnej aplikacji, \u0142atanie WordPressa, Joomli lub MediaWiki nic nie daje. Jedynym prawdziwym rozwi\u0105zaniem jest nowa kompilacja PHP. Uruchamiamy sze\u015b\u0107 publicznych witryn WordPress na sprz\u0119cie Synology, a PHP2Shell oznacza\u0142o, \u017ce ka\u017cda z nich musia\u0142a zosta\u0107 przebudowana w tym samym tygodniu. Ten poradnik opisuje, na czym w\u0142a\u015bciwie polega b\u0142\u0105d, jak go za\u0142ata\u0107 w DSM za po\u015brednictwem Centrum Pakiet\u00f3w, jak sobie z nim poradzi\u0107, gdy witryna dzia\u0142a w kontenerze, oraz niewygodne por\u00f3wnanie tego, co zosta\u0142o dostarczone przez Synology, z tym, co do tej pory uda\u0142o si\u0119 osi\u0105gn\u0105\u0107 innym dostawcom NAS.<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p class=\"wp-block-paragraph\"><strong>Punkt SynoPower Club:<\/strong>Sze\u015b\u0107 naszych witryn zosta\u0142o za\u0142atanych w ci\u0105gu jednego dnia roboczego od opublikowania komunikatu PHP2Shell, a to nie by\u0142o bohaterskie dzia\u0142anie, tylko opublikowanie przez Synology poprawionych pakiet\u00f3w w tym samym dniu, w kt\u00f3rym opublikowano komunikat. Synology-SA-26:14 zosta\u0142 opublikowany 22 pa\u017adziernika ze statusem Rozwi\u0105zany i pe\u0142n\u0105 tabel\u0105 poprawionych wersji PHP a\u017c do wersji 7.4. Tego samego dnia QNAP opublikowa\u0142 QSA-26-18 ze statusem Naprawianie i s\u0142owami Do og\u0142oszenia w ka\u017cdej kom\u00f3rce z poprawion\u0105 wersj\u0105, a ASUSTOR odpowiedzia\u0142, usuwaj\u0105c starsze wersje PHP z App Central zamiast je \u0142ata\u0107. Je\u015bli samodzielnie hostujesz publiczn\u0105 witryn\u0119 na serwerze NAS, ta luka nie jest szczeg\u00f3\u0142em marketingowym. To r\u00f3\u017cnica mi\u0119dzy aktualizacj\u0105 pakietu a usuni\u0119ciem witryny z internetu na poczekaniu.<\/p>\n<\/blockquote>\n\n\n\n<h2 id=\"what-is-php2shell-and-why-it-is-different\" class=\"wp-block-heading\">Czym jest PHP2Shell i czym si\u0119 r\u00f3\u017cni<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">PHP2Shell to nie jeden b\u0142\u0105d, lecz grupa powi\u0105zanych b\u0142\u0119d\u00f3w bezpiecze\u0144stwa pami\u0119ci w sposobie, w jaki PHP czy\u015bci dane po \u017c\u0105daniu, w kt\u00f3rym zabrak\u0142o pami\u0119ci. PHP u\u017cywa <code>longjmp()<\/code> aby unikn\u0105\u0107 b\u0142\u0119d\u00f3w krytycznych, w tym braku pami\u0119ci, a ten skok pomija kod czyszcz\u0105cy, kt\u00f3ry normalnie przywr\u00f3ci\u0142by silnik do znanego stanu. Cz\u0119\u015b\u0107 tego stanu ma charakter globalny i jest przetwarzana w kolejnym \u017c\u0105daniu obs\u0142ugiwanym przez ten sam proces roboczy.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">CVE-2026-109618 dotyczy braku pami\u0119ci. Sformatowane \u017c\u0105danie HTTP wyczerpuje limit pami\u0119ci, podczas gdy dane \u017c\u0105dania s\u0105 tylko cz\u0119\u015bciowo zainicjowane, wi\u0119c procedura czyszcz\u0105ca przeszukuje struktury, kt\u00f3re nigdy nie zosta\u0142y uko\u0144czone. CVE-2026-109619 dotyczy wykorzystania po zwolnieniu: globalny stan pozostawiony wskazuj\u0105cy na zwolnion\u0105 pami\u0119\u0107 \u017c\u0105dania mo\u017ce zosta\u0107 odczytany przez p\u00f3\u017aniejsze \u017c\u0105danie w tym samym procesie roboczym, co powoduje, \u017ce b\u0142\u0105d prowadzi do wykonania kodu lub ujawnienia pami\u0119ci.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Dwie cechy sprawiaj\u0105, \u017ce PHP2Shell jest gorszy ni\u017c standardowe ostrze\u017cenie PHP. Po pierwsze, jest to wst\u0119pne uwierzytelnianie. Obie wady uruchamiaj\u0105 si\u0119 przed uruchomieniem uwierzytelniania na poziomie aplikacji, wi\u0119c \u015bciana logowania, wtyczka cz\u0142onkowska ani has\u0142o administratora niczego nie chroni\u0105. Po drugie, wariant z ujawnieniem pami\u0119ci powoduje wyciek pami\u0119ci procesu roboczego, a proces roboczy PHP w witrynie WordPress przechowuje dane uwierzytelniaj\u0105ce bazy danych, tokeny API i klucze p\u0142atno\u015bci. Pomy\u015blny odczyt nie musi doprowadzi\u0107 do wykonania kodu, aby zepsu\u0107 ca\u0142y tydzie\u0144.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Dwa luki w zabezpieczeniach PHP2Shell zosta\u0142y ocenione na poziomie CVSS v4.0 9.2 przez zesp\u00f3\u0142 ds. bezpiecze\u0144stwa PHP. Synology przyzna\u0142 im ocen\u0119 9,8 na poziomie CVSS v3.1 we w\u0142asnym komunikacie. R\u00f3\u017cne skale, ten sam wniosek. Raporty dotycz\u0105ce wykorzystania luk s\u0105 zr\u00f3\u017cnicowane: watchTowr twierdzi, \u017ce odnotowa\u0142 pr\u00f3by ataku na swoj\u0105 sie\u0107 honeypot, podczas gdy Bitdefender nie zg\u0142osi\u0142 niczego w swoich danych telemetrycznych w momencie pisania tego tekstu, a QNAP twierdzi, \u017ce nie otrzyma\u0142 \u017cadnych raport\u00f3w o wykorzystaniu luk wymierzonych konkretnie w produkty QNAP.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"eager\" decoding=\"async\" width=\"1400\" height=\"852\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" src=\"https:\/\/synopower.club\/wp-content\/uploads\/2026\/10\/php2shell-synology-advisory.webp\" alt=\"Synology-SA-26:14 Komunikat PHP2Shell pokazuj\u0105cy status Rozwi\u0105zano i poprawion\u0105 tabel\u0119 wersji\" class=\"wp-image-22078\" srcset=\"https:\/\/synopower.club\/wp-content\/uploads\/2026\/10\/php2shell-synology-advisory.webp 1400w, https:\/\/synopower.club\/wp-content\/uploads\/2026\/10\/php2shell-synology-advisory-300x183.webp 300w, https:\/\/synopower.club\/wp-content\/uploads\/2026\/10\/php2shell-synology-advisory-1024x623.webp 1024w, https:\/\/synopower.club\/wp-content\/uploads\/2026\/10\/php2shell-synology-advisory-768x467.webp 768w, https:\/\/synopower.club\/wp-content\/uploads\/2026\/10\/php2shell-synology-advisory-18x12.webp 18w, https:\/\/synopower.club\/wp-content\/uploads\/2026\/10\/php2shell-synology-advisory-600x365.webp 600w, https:\/\/synopower.club\/wp-content\/uploads\/2026\/10\/php2shell-synology-advisory-400x243.webp 400w, https:\/\/synopower.club\/wp-content\/uploads\/2026\/10\/php2shell-synology-advisory-1000x609.webp 1000w\"  fetchpriority=\"high\"\/><figcaption class=\"wp-element-caption\">Synology-SA-26:14, opublikowano 22 pa\u017adziernika 2026 o 19:45 UTC+8 ze statusem Rozwi\u0105zany.<\/figcaption><\/figure>\n\n\n\n<h2 id=\"php2shell-vs-a-normal-wordpress-exploit\" class=\"wp-block-heading\">PHP2Shell kontra normalny atak na WordPressa<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Wi\u0119kszo\u015b\u0107 problem\u00f3w z publiczn\u0105 witryn\u0105 WordPress wynika z luk w zabezpieczeniach wtyczek. Schemat jest znany: wtyczka wysy\u0142a uszkodzony punkt ko\u0144cowy REST, skaner go wykrywa, u\u017cytkownik aktualizuje wtyczk\u0119 i luka zostaje naprawiona. PHP2Shell ca\u0142kowicie \u0142amie ten nawyk, a odruch audytu wtyczek jest tutaj zmarnowany.<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>Aspekt<\/th><th>Typowy kod CVE wtyczki<\/th><th>PHP2Shell<\/th><\/tr><\/thead><tbody><tr><td>Gdzie mieszka ten robak<\/td><td>Kod aplikacji (wtyczki lub motywu)<\/td><td>Sam interpreter PHP<\/td><\/tr><tr><td>Kto mo\u017ce to wywo\u0142a\u0107<\/td><td>Cz\u0119sto wymagana jest rola subskrybenta lub administratora<\/td><td>Nikt. Wst\u0119pna autoryzacja przed uruchomieniem logiki aplikacji<\/td><\/tr><tr><td>Czy aktualizacja WordPressa pomaga?<\/td><td>Zwykle tak<\/td><td>Nie. Aktualizacje rdzenia i wtyczek nie maj\u0105 znaczenia<\/td><\/tr><tr><td>Czy WAF to zatrzymuje?<\/td><td>Zwykle, gdy ju\u017c istnieje regu\u0142a<\/td><td>Cz\u0119\u015bciowo. Regu\u0142y Request-Shape nie uwzgl\u0119dniaj\u0105 \u015bcie\u017cki OOM<\/td><\/tr><tr><td>Co w\u0142a\u015bciwie to naprawia<\/td><td>Aktualizacja wtyczki<\/td><td>Nowa kompilacja PHP, nic wi\u0119cej<\/td><\/tr><tr><td>Promie\u0144 wybuchu<\/td><td>Jedna strona, jedna funkcja<\/td><td>Wszystkie witryny PHP na raz<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">To w\u0142a\u015bnie ten ostatni argument wyja\u015bnia, dlaczego PHP2Shell zamieni\u0142 si\u0119 w ca\u0142y dzie\u0144 pracy, a nie w jedno popo\u0142udnie. Pojedynczy wsp\u00f3\u0142dzielony pakiet PHP na serwerze NAS mo\u017ce by\u0107 obs\u0142ugiwany przez kilkana\u015bcie wirtualnych host\u00f3w Web Station, a jeden obraz kontenera mo\u017ce by\u0107 podstaw\u0105 dla kilku witryn. \u0141atanie nie jest wykonywane dla ka\u017cdej witryny, lecz dla ka\u017cdego \u015brodowiska uruchomieniowego, a przed stwierdzeniem wykonania nale\u017cy wyliczy\u0107 wszystkie \u015brodowiska uruchomieniowe.<\/p>\n\n\n\n<h2 id=\"how-to-tell-if-your-nas-is-exposed\" class=\"wp-block-heading\">Jak stwierdzi\u0107, czy Tw\u00f3j serwer NAS jest nara\u017cony<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Okre\u015blenie nara\u017cenia na atak PHP2Shell zaczyna si\u0119 od rozr\u00f3\u017cnienia dw\u00f3ch r\u00f3\u017cnych pyta\u0144. Czy w pude\u0142ku znajduje si\u0119 podatna na atak kompilacja PHP i czy jest ona dost\u0119pna z internetu? Synology wyra\u017anie to rozr\u00f3\u017cnia: DSM dostarcza wewn\u0119trzny komponent PHP u\u017cywany przez system operacyjny, a Synology twierdzi, \u017ce nie posiada on modu\u0142\u00f3w dost\u0119pnych z zewn\u0105trz, a zatem nie ma nara\u017conej powierzchni ataku. Ryzyko przypisane temu komponentowi jest minimalne, a poprawka jest zaplanowana na p\u00f3\u017aniejsz\u0105 wersj\u0119 DSM, aby skanowanie podatno\u015bci przesta\u0142o j\u0105 oznacza\u0107.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Pakiety, kt\u00f3re maj\u0105 znaczenie dla PHP2Shell, to te, kt\u00f3re udost\u0119pniaj\u0105 PHP w sieci. Synology obejmuje Kalendarz, IDrive, Joomla, KodExplorer, MailStation, MediaWiki, phpMyAdmin, vtigerCRM, Web Station i WordPress. Je\u015bli kt\u00f3rykolwiek z nich jest zainstalowany i dost\u0119pny, jeste\u015b w zasi\u0119gu.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Sprawdzaj wersje bezpo\u015brednio, zamiast ufa\u0107 panelowi. W Centrum Pakiet\u00f3w zainstalowane pakiety PHP wy\u015bwietlaj\u0105 swoj\u0105 wersj\u0119 na kafelku, a powiadomienie o aktualizacji podaje nazw\u0119 docelowej kompilacji. Z poziomu pow\u0142oki zapytaj samo \u015brodowisko wykonawcze:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code># Synology Pakiet PHP (dostosuj \u015bcie\u017ck\u0119 do wersji, kt\u00f3r\u0105 uruchamiasz) \/volume1\/@appstore\/PHP8.2\/usr\/local\/bin\/php -v # Witryna w kontenerze docker exec php -v<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Pow\u00f3d, dla kt\u00f3rego nalegamy <code>php -v<\/code> Podczas audytu PHP2Shell okazuje si\u0119, \u017ce wszystkie pozosta\u0142e sygna\u0142y s\u0105 b\u0142\u0119dne. Dane wyj\u015bciowe kompilacji mog\u0105 zg\u0142asza\u0107 powodzenie przy ponownym u\u017cyciu warstwy buforowanej, panel mo\u017ce wy\u015bwietla\u0107 pakiet jako aktualny, mimo \u017ce uruchomiony proces roboczy nie jest, a nag\u0142\u00f3wek odpowiedzi HTTP mo\u017ce zosta\u0107 usuni\u0119ty przez sie\u0107 CDN, zanim w og\u00f3le zostanie wy\u015bwietlony. Dwie z naszych sze\u015bciu witryn zosta\u0142y zg\u0142oszone jako poprawne przez ekrany administracyjne, mimo \u017ce nadal dzia\u0142a\u0142 na nich niezaktualizowany interpreter.<\/p>\n\n\n\n<h2 id=\"patching-php2shell-on-synology-in-4-steps\" class=\"wp-block-heading\">\u0141atanie PHP2Shell na Synology w 4 krokach<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">W przypadku witryny Web Station w DSM ca\u0142a poprawka PHP2Shell sprowadza si\u0119 do aktualizacji Centrum Pakiet\u00f3w. Synology publikuje aktualizacje zabezpiecze\u0144 PHP dla DSM 7.4, 7.3 i 7.2, a po aktualizacji pakietu PHP zale\u017cne pakiety uruchamiaj\u0105 si\u0119 ponownie, co rozwi\u0105zuje problem. Mail Station jest udokumentowanym wyj\u0105tkiem i wymaga w\u0142asnej, r\u0119cznej aktualizacji.<\/p>\n\n\n<div id=\"rank-math-howto\" class=\"rank-math-block\" >\n<div class=\"rank-math-howto-description\">\n\n<\/div>\n\n<div class=\"rank-math-steps\">\n<div id=\"step-1\" class=\"rank-math-step\">\n<h3 class=\"rank-math-step-title\">Sprawd\u017a ostrze\u017cenie<\/h3>\n<div class=\"rank-math-step-content\"><p>Otw\u00f3rz plik Synology-SA-26:14 i zanotuj poprawion\u0105 wersj\u0119 dla ka\u017cdej zainstalowanej ga\u0142\u0119zi PHP. Docelowe wersje to 7.4.33-0131, 8.0.30-0122, 8.1.34-0120, 8.2.35-0171, 8.3.36-0051 i 8.4.27-0051. PHP 7.3 nie ma poprawki, poniewa\u017c jest ju\u017c wycofany z u\u017cytku.<\/p>\n<\/div>\n<\/div>\n<div id=\"step-2\" class=\"rank-math-step\">\n<h3 class=\"rank-math-step-title\">Aktualizacja za po\u015brednictwem Centrum pakiet\u00f3w<\/h3>\n<div class=\"rank-math-step-content\"><p>W DSM otw\u00f3rz Centrum Pakiet\u00f3w i sprawd\u017a Zainstalowane. Ka\u017cdy podatny na ataki pakiet PHP ma status Aktualizacja dost\u0119pna z now\u0105 wersj\u0105 online. Kliknij Aktualizuj w ka\u017cdej wymienionej ga\u0142\u0119zi PHP i zaktualizuj Kalendarz Synology oraz Stacj\u0119 Pocztow\u0105, je\u015bli je posiadasz.<\/p>\n<\/div>\n<\/div>\n<div id=\"step-3\" class=\"rank-math-step\">\n<h3 class=\"rank-math-step-title\">Pozw\u00f3l osobom na utrzymaniu rozpocz\u0105\u0107 od nowa<\/h3>\n<div class=\"rank-math-step-content\"><p>Pakiety zale\u017cne od PHP s\u0105 automatycznie restartowane po zako\u0144czeniu aktualizacji pakietu PHP, a to w\u0142a\u015bnie restart powoduje wprowadzenie poprawki. Wyj\u0105tkiem jest Mail Station, kt\u00f3ry nale\u017cy aktualizowa\u0107 r\u0119cznie z Centrum Pakiet\u00f3w.<\/p>\n<\/div>\n<\/div>\n<div id=\"step-4\" class=\"rank-math-step\">\n<h3 class=\"rank-math-step-title\">Zweryfikuj dzia\u0142aj\u0105cy interpreter<\/h3>\n<div class=\"rank-math-step-content\"><p>Nie ufaj panelowi. Uruchom php -v w \u015bcie\u017cce pakietu lub w kontenerze i potwierd\u017a, \u017ce numer kompilacji jest zgodny z ostrze\u017ceniem. Nast\u0119pnie sprawd\u017a, czy ka\u017cdy wirtualny host Web Station jest powi\u0105zany z profilem, kt\u00f3ry faktycznie zaktualizowa\u0142e\u015b.<\/p>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n\n\n\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1400\" height=\"803\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" src=\"https:\/\/synopower.club\/wp-content\/uploads\/2026\/10\/php2shell-package-center-php82.webp\" alt=\"Centrum pakiet\u00f3w Synology pokazuj\u0105ce dost\u0119pno\u015b\u0107 aktualizacji PHP 8.2 do wersji 8.2.35-0171\" class=\"wp-image-22079\" srcset=\"https:\/\/synopower.club\/wp-content\/uploads\/2026\/10\/php2shell-package-center-php82.webp 1400w, https:\/\/synopower.club\/wp-content\/uploads\/2026\/10\/php2shell-package-center-php82-300x172.webp 300w, https:\/\/synopower.club\/wp-content\/uploads\/2026\/10\/php2shell-package-center-php82-1024x587.webp 1024w, https:\/\/synopower.club\/wp-content\/uploads\/2026\/10\/php2shell-package-center-php82-768x441.webp 768w, https:\/\/synopower.club\/wp-content\/uploads\/2026\/10\/php2shell-package-center-php82-18x10.webp 18w, https:\/\/synopower.club\/wp-content\/uploads\/2026\/10\/php2shell-package-center-php82-600x344.webp 600w, https:\/\/synopower.club\/wp-content\/uploads\/2026\/10\/php2shell-package-center-php82-400x229.webp 400w, https:\/\/synopower.club\/wp-content\/uploads\/2026\/10\/php2shell-package-center-php82-1000x574.webp 1000w\" \/><figcaption class=\"wp-element-caption\">Centrum pakiet\u00f3w oferuje wersj\u0119 PHP 8.2.35-0171, kt\u00f3rej nazwa podana jest w ostrze\u017ceniu.<\/figcaption><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Powy\u017cszy zrzut ekranu pochodzi z jednego z naszych komputer\u00f3w, z poranka po ostrze\u017ceniu PHP2Shell. Nale\u017cy pami\u0119ta\u0107, \u017ce panel \u201eCo nowego\u201d bezpo\u015brednio podaje nazw\u0119 wersji \u017ar\u00f3d\u0142owej, dzi\u0119ki czemu mo\u017cna bez problemu dopasowa\u0107 sufiks kompilacji Synology do wydania PHP. Kalendarz Synology pojawia si\u0119 na tej samej li\u015bcie aktualizacji pod numerem 3.0.4-21435, czyli dok\u0142adnie tej wersji, kt\u00f3rej dotyczy ostrze\u017cenie.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1400\" height=\"793\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" src=\"https:\/\/synopower.club\/wp-content\/uploads\/2026\/10\/php2shell-package-center-update.webp\" alt=\"Centrum pakiet\u00f3w Synology \u2013 okno dialogowe potwierdzenia ustawie\u0144 aktualizacji PHP 8.2 do wersji 8.2.35-0171\" class=\"wp-image-22080\" srcset=\"https:\/\/synopower.club\/wp-content\/uploads\/2026\/10\/php2shell-package-center-update.webp 1400w, https:\/\/synopower.club\/wp-content\/uploads\/2026\/10\/php2shell-package-center-update-300x170.webp 300w, https:\/\/synopower.club\/wp-content\/uploads\/2026\/10\/php2shell-package-center-update-1024x580.webp 1024w, https:\/\/synopower.club\/wp-content\/uploads\/2026\/10\/php2shell-package-center-update-768x435.webp 768w, https:\/\/synopower.club\/wp-content\/uploads\/2026\/10\/php2shell-package-center-update-18x10.webp 18w, https:\/\/synopower.club\/wp-content\/uploads\/2026\/10\/php2shell-package-center-update-600x340.webp 600w, https:\/\/synopower.club\/wp-content\/uploads\/2026\/10\/php2shell-package-center-update-400x227.webp 400w, https:\/\/synopower.club\/wp-content\/uploads\/2026\/10\/php2shell-package-center-update-1000x566.webp 1000w\" \/><figcaption class=\"wp-element-caption\">Aktualizacja okna dialogowego o nazwie PHP 8.2.35-0171, opublikowana przez Synology Inc.<\/figcaption><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Jedna pu\u0142apka PHP2Shell warta wymienienia dla u\u017cytkownik\u00f3w Web Station: maszyna DSM mo\u017ce mie\u0107 zainstalowanych kilka ga\u0142\u0119zi PHP jednocze\u015bnie, a ka\u017cdy host wirtualny jest powi\u0105zany z jednym profilem. Aktualizacja profilu domy\u015blnego nie pomo\u017ce witrynie przypi\u0119tej do innej ga\u0142\u0119zi. Najpierw wylicz profile, zaktualizuj je wszystkie, a nast\u0119pnie sprawd\u017a powi\u0105zanie ka\u017cdej witryny w ramach us\u0142ugi Web Service.<\/p>\n\n\n\n<h2 id=\"which-dsm-packages-are-affected\" class=\"wp-block-heading\">Kt\u00f3re pakiety DSM s\u0105 obj\u0119te<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Instrukcja Synology w PHP2Shell jest w\u0119\u017csza ni\u017c sugerowa\u0142 b\u0142\u0105d panic. Dotyczy to tylko system\u00f3w z niekt\u00f3rymi pakietami zale\u017cnymi od PHP, a Synology Drive wyra\u017anie do nich nie nale\u017cy. IDrive znajduje si\u0119 na li\u015bcie, ale jest oprogramowaniem firm trzecich.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Dost\u0119pny w Internecie i o najwy\u017cszym priorytecie.<\/strong> Web Station, WordPress, Joomla, MediaWiki, vtigerCRM, KodExplorer i phpMyAdmin. Udost\u0119pniaj\u0105 one PHP ka\u017cdemu, kto ma do nich dost\u0119p.<\/li>\n\n\n\n<li><strong>Poczta i kalendarz.<\/strong> Po zainstalowaniu pakietu PHP konieczna jest r\u0119czna aktualizacja Mail Station. Kalendarz Synology ma w\u0142asn\u0105, poprawion\u0105 kompilacj\u0119 3.0.4-21435.<\/li>\n\n\n\n<li><strong>Wewn\u0119trzny komponent DSM.<\/strong> Obecny, ale niedost\u0119pny z zewn\u0105trz, poprawka odroczona do p\u00f3\u017aniejszej wersji DSM, ryzyko ocenione jako minimalne przez Synology.<\/li>\n\n\n\n<li><strong>Kontenery nie s\u0105 obj\u0119te ubezpieczeniem.<\/strong> \u015arodowisko wykonawcze PHP w Mened\u017cerze Kontener\u00f3w jest do Twojej dyspozycji. \u017badna aktualizacja pakietu go nie zmieni, co jest najcz\u0119stszym powodem, dla kt\u00f3rego w\u0142a\u015bciciele serwer\u00f3w NAS my\u015bl\u0105, \u017ce sko\u0144czyli prac\u0119, podczas gdy tak nie jest.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Je\u015bli nadal korzystasz z wersji DSM starszej ni\u017c 7.2, Synology zaleca tymczasowe wy\u0142\u0105czenie pakiet\u00f3w, kt\u00f3rych dotyczy problem, do czasu udost\u0119pnienia wersji z poprawkami. Sam DSM 7.2 jest oznaczony w tym o\u015bwiadczeniu jako wersja ko\u0144cz\u0105ca cykl \u017cycia, mimo \u017ce otrzyma\u0142 te aktualizacje PHP.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Trudnym przypadkiem jest PHP2Shell w wersji 7.3 i starszych. Pakiet Synology nie naprawi wersji 7.3, poniewa\u017c ga\u0142\u0105\u017a ta jest ju\u017c wycofana z u\u017cytku, a upstream nie opublikowa\u0142 niczego dla wersji 7.3 i starszych. Dystrybucje Linuksa dostarczy\u0142y backporty dla niekt\u00f3rych starszych ga\u0142\u0119zi, ale pakiet PHP Synology nie jest pakietem dystrybucyjnym. Je\u015bli strona potrzebuje wersji 7.3 lub 5.6 do dzia\u0142ania, \u017cadna poprawka nie zostanie udost\u0119pniona, a uczciwe opcje to przeniesienie strony do obs\u0142ugiwanej ga\u0142\u0119zi, umieszczenie jej za WAF-em lub od\u0142\u0105czenie od publicznego internetu.<\/p>\n\n\n\n<h2 id=\"how-container-site-owners-handle-php2shell\" class=\"wp-block-heading\">Jak w\u0142a\u015bciciele witryn kontenerowych radz\u0105 sobie z PHP2Shell<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Pi\u0119\u0107 z naszych sze\u015bciu witryn korzysta z WordPressa w Dockerze, a nie w Web Station, i to w\u0142a\u015bnie tutaj PHP2Shell staje si\u0119 interesuj\u0105cy, poniewa\u017c Centrum Pakiet\u00f3w nie mo\u017ce Ci pom\u00f3c. \u015arodowisko wykonawcze to to, co zawiera obraz, a odbudowa obrazu to nie to samo, co jego aktualizacja.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Pierwsz\u0105 awari\u0105 PHP2Shell, z kt\u00f3r\u0105 zetkn\u0119li\u015bmy si\u0119 jako pierwsz\u0105 i kt\u00f3ra najprawdopodobniej dotknie innych u\u017cytkownik\u00f3w, jest to, \u017ce przebudowa obrazu niestandardowego ponownie wykorzystuje buforowan\u0105 warstw\u0119 bazow\u0105. Odpi\u0119ty <code>Z<\/code> Tag nie oznacza \u015bwie\u017co\u015bci. Jeden z naszych obraz\u00f3w zosta\u0142 przebudowany cztery dni wcze\u015bniej i nadal zawiera\u0142 kompilacj\u0119 PHP z lipca 2025 roku, czyli ponad rok po poprawkach bezpiecze\u0144stwa, poniewa\u017c nic nie zmusi\u0142o Dockera do ponownego pobrania bazy.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code># \u0179le: po cichu ponownie wykorzystuje dowoln\u0105 warstw\u0119 bazow\u0105 buforowan\u0105 lokalnie docker build -t mysite . # Dobrze: zawsze ponownie pobiera obraz bazowy docker build --pull -t mysite . # Nast\u0119pnie uruchamiaj tylko t\u0119 us\u0142ug\u0119, kt\u00f3r\u0105 masz na my\u015bli, bez uruchamiania u\u015bpionych us\u0142ug pokrewnych docker compose up -d --no-deps wordpress # I zweryfikuj to, co naprawd\u0119 ma znaczenie docker exec wordpress php -v<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Drugi b\u0142\u0105d PHP2Shell jest bardziej nieprzyjemny, poniewa\u017c zg\u0142asza powodzenie. Przekierowanie danych kompilacji przez <code>ogon<\/code> ukrywa b\u0142\u0105d kompilacji, poniewa\u017c kod wyj\u015bcia potoku nale\u017cy do ostatniego polecenia w nim i <code>ustaw -e<\/code> Nigdy si\u0119 nie uruchamia. Nast\u0119pnie krok kompilacji odtwarza kontener ze starego obrazu, wy\u015bwietla komunikat \u201eRozpocz\u0119to\u201d, a Ty wychodzisz z nieza\u0142atanej witryny, kt\u00f3ra wygl\u0105da na \u015bwie\u017co wdro\u017con\u0105. Sprawd\u017a wynik kompilacji samodzielnie i zweryfikuj go za pomoc\u0105\u2026 <code>php -v<\/code> nast\u0119pnie.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Dwie drobne uwagi. Oznacz stary obraz tagiem przed odbudow\u0105, poniewa\u017c obraz zachowuje sw\u00f3j tag i zapewnia darmowy punkt przywracania, kt\u00f3ry jest znacznie ta\u0144szy ni\u017c migawka. Nie spodziewaj si\u0119 te\u017c, \u017ce podniesienie obrazu spowoduje aktualizacj\u0119 aplikacji: oficjalny punkt wej\u015bcia obrazu WordPress kopiuje pliki rdzenia tylko wtedy, gdy katalog g\u0142\u00f3wny dokument\u00f3w jest pusty, wi\u0119c ponowne utworzenie kontenera na nowszym obrazie pozostawia istniej\u0105c\u0105 instalacj\u0119 dok\u0142adnie tam, gdzie by\u0142a. Potwierdzili\u015bmy to na kopii tymczasowej przed przeniesieniem do produkcji, a wersja WordPressa nie zosta\u0142a przeniesiona.<\/p>\n\n\n\n<h2 id=\"why-disabling-upload-progress-only-covers-half\" class=\"wp-block-heading\">Dlaczego wy\u0142\u0105czenie session.upload_progress obejmuje tylko po\u0142ow\u0119<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Ograniczenie PHP2Shell stosowane w przypadku maszyn, kt\u00f3rych nie mo\u017cna za\u0142ata\u0107, polega na ustawieniu <code>session.upload_progress.enabled = 0<\/code>, oraz w DSM, kt\u00f3ry znajduje si\u0119 w Web Station w Ustawieniach j\u0119zyka skryptowego, na karcie Core profilu PHP. Warto to zrobi\u0107. To nie jest rozwi\u0105zanie, a r\u00f3\u017cnica ma znaczenie.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u015acie\u017cka post\u0119pu przesy\u0142ania sesji to tylko jedna z dr\u00f3g doj\u015bcia. Wariant ujawniania pami\u0119ci jest osi\u0105gany poprzez zwyk\u0142\u0105 obs\u0142ug\u0119 \u017c\u0105da\u0144 multipart i w og\u00f3le nie wymaga funkcji sesji, wi\u0119c wy\u0142\u0105czenie tej funkcji pozostawia t\u0119 \u015bcie\u017ck\u0119 otwart\u0105. Projekt PHP wyra\u017anie stwierdzi\u0142, \u017ce nie ma kompletnych \u015brodk\u00f3w zaradczych i \u017ce aktualizacja jest jedynym bezpiecznym rozwi\u0105zaniem. Imunify360 informuje, \u017ce obecnie \u017cadna regu\u0142a nie blokuje \u015bcie\u017cki poza pami\u0119ci\u0105 w przypadku luki CVE-2026-109618, a Elastic zauwa\u017ca, \u017ce ustawienie post\u0119pu przesy\u0142ania zamyka potwierdzone \u015bcie\u017cki sesji, ale nie wszystkie warianty.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Zobaczysz r\u00f3wnie\u017c <code>limit_pami\u0119ci = -1<\/code> zasugerowano, opieraj\u0105c si\u0119 na logice, \u017ce b\u0142\u0105d wyst\u0119puje w wyniku braku pami\u0119ci. Potraktuj to jako wymian\u0119, a nie zysk. Usuni\u0119cie limitu na publicznym serwerze WWW zmienia jeden tryb awarii na inny, a na serwerze NAS ze wsp\u00f3\u0142dzielonym bud\u017cetem pami\u0119ci powoduje, \u017ce pula robocza zamiast tego wyczerpuje ca\u0142\u0105 maszyn\u0119.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Filtrowanie kraw\u0119dzi to warstwa PHP2Shell, kt\u00f3ra naprawd\u0119 co\u015b wnosi, poniewa\u017c widzi odszyfrowany ruch, a router nie. Cloudflare wdro\u017cy\u0142 ochron\u0119 zarz\u0105dzanych regu\u0142 dla PHP2Shell, AWS doda\u0142 ochron\u0119 CVE-2026-109619 w wersji 2.3 swojej grupy zarz\u0105dzanych regu\u0142 PHP, a Azure Front Door dostarczy\u0142 regu\u0142\u0119 99006001, kt\u00f3ra jest domy\u015blnie wy\u0142\u0105czona. Spo\u0142eczno\u015bciowe regu\u0142y Snort i Suricata s\u0105 dost\u0119pne na GitHubie, ale oficjalne zestawy regu\u0142 Snort i Emerging Threats nie zosta\u0142y opublikowane w momencie pisania tego tekstu, wi\u0119c funkcja zapobiegania w\u0142amaniom do NAS nie uratuje Ci\u0119 w tym przypadku. I tak nie mo\u017ce odczytywa\u0107 danych wewn\u0105trz protoko\u0142u TLS.<\/p>\n\n\n\n<h2 id=\"which-nas-vendor-actually-shipped-a-fix\" class=\"wp-block-heading\">Kt\u00f3ry dostawca pami\u0119ci NAS faktycznie dostarczy\u0142 poprawk\u0119?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">To w\u0142a\u015bnie ta cz\u0119\u015b\u0107 historii PHP2Shell powinna wp\u0142yn\u0105\u0107 na Tw\u00f3j zakup. Upstream PHP zosta\u0142 wydany 21 pa\u017adziernika. Oto, w jakiej pozycji nast\u0119pnego dnia znale\u017ali si\u0119 czterej g\u0142\u00f3wni dostawcy NAS-\u00f3w dla konsument\u00f3w i prosument\u00f3w, zaczerpni\u0119ci z ich w\u0142asnych stron informacyjnych, a nie z materia\u0142\u00f3w prasowych.<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>Sprzedawca<\/th><th>Doradczy<\/th><th>Status<\/th><th>Opublikowano wersje poprawione<\/th><\/tr><\/thead><tbody><tr><td><strong>Synology<\/strong><\/td><td>Synology-SA-26:14, 22 pa\u017a 2026<\/td><td><strong>Rozwi\u0105zany<\/strong><\/td><td>Tak. Ka\u017cda ga\u0142\u0105\u017a od PHP 7.4 do 8.4, a tak\u017ce Kalendarz i Stacja Pocztowa<\/td><\/tr><tr><td>QNAP<\/td><td>QSA-26-18, 22 pa\u017adziernika 2026 r.<\/td><td>Ustalenie<\/td><td>Nie. W ka\u017cdym wierszu jest napisane \u201eDo og\u0142oszenia\u201d<\/td><\/tr><tr><td>ASUSTOR<\/td><td>Wycofanie starszej wersji PHP, 22 pa\u017adziernika 2026 r.<\/td><td>Emerytura, nie \u0142atka<\/td><td>Nie. PHP 7, 7.3, 7.4 i 8.1 zosta\u0142y usuni\u0119te z App Central<\/td><\/tr><tr><td>UGREEN<\/td><td>Nie znaleziono<\/td><td>Nieznany<\/td><td>Brak komunikatu dla UGOS Pro<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Synology opublikowa\u0142 kompletn\u0105 tabel\u0119 wersji PHP2Shell tego samego dnia, w kt\u00f3rym opublikowano ostrze\u017cenie, i oznaczy\u0142 je jako \u201eRozwi\u0105zane\u201d. W\u0142a\u015bciciel DSM, kt\u00f3ry je przeczyta\u0142, mia\u0142 tego popo\u0142udnia podj\u0105\u0107 dzia\u0142anie: otworzy\u0107 Centrum Pakiet\u00f3w, klikn\u0105\u0107 \u201eAktualizuj\u201d i zweryfikowa\u0107. To ca\u0142a \u015bcie\u017cka naprawy i dlatego nasze maszyny Web Station zosta\u0142y uko\u0144czone w ci\u0105gu kilku minut, a nie dni.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1400\" height=\"852\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" src=\"https:\/\/synopower.club\/wp-content\/uploads\/2026\/10\/php2shell-qnap-to-be-announced.webp\" alt=\"Komunikat QNAP QSA-26-18 pokazuj\u0105cy status Naprawa i Do og\u0142oszenia w ka\u017cdym wierszu wersji naprawionych\" class=\"wp-image-22081\" srcset=\"https:\/\/synopower.club\/wp-content\/uploads\/2026\/10\/php2shell-qnap-to-be-announced.webp 1400w, https:\/\/synopower.club\/wp-content\/uploads\/2026\/10\/php2shell-qnap-to-be-announced-300x183.webp 300w, https:\/\/synopower.club\/wp-content\/uploads\/2026\/10\/php2shell-qnap-to-be-announced-1024x623.webp 1024w, https:\/\/synopower.club\/wp-content\/uploads\/2026\/10\/php2shell-qnap-to-be-announced-768x467.webp 768w, https:\/\/synopower.club\/wp-content\/uploads\/2026\/10\/php2shell-qnap-to-be-announced-18x12.webp 18w, https:\/\/synopower.club\/wp-content\/uploads\/2026\/10\/php2shell-qnap-to-be-announced-600x365.webp 600w, https:\/\/synopower.club\/wp-content\/uploads\/2026\/10\/php2shell-qnap-to-be-announced-400x243.webp 400w, https:\/\/synopower.club\/wp-content\/uploads\/2026\/10\/php2shell-qnap-to-be-announced-1000x609.webp 1000w\" \/><figcaption class=\"wp-element-caption\">QNAP QSA-26-18: status naprawiania, a ka\u017cda poprawiona wersja zostanie jeszcze og\u0142oszona.<\/figcaption><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Firma QNAP opublikowa\u0142a tego samego dnia list\u0119 produkt\u00f3w, kt\u00f3rych dotyczy\u0142 problem, obejmuj\u0105c\u0105 systemy QTS 6.1.0, QTS 5.2.11 i starsze, QuTS hero h6.1.0, h6.0.x i h5.2.11 i starsze, QuTScloud c5.2.9 i starsze, Note Station 3, QNE ADRA, QVR Surveillance na modelach ARM32 oraz TVR OS. Ka\u017cdy z nich ma status \u201eNaprawianie\u201d bez wersji z poprawkami. Poniewa\u017c \u015brodowisko uruchomieniowe PHP jest cz\u0119\u015bci\u0105 komponent\u00f3w webowych QTS, nie ma pakietu do aktualizacji, wi\u0119c rozwi\u0105zanie musi zosta\u0107 dostarczone w postaci oprogramowania uk\u0142adowego.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Tymczasem QNAP oferuje ofiarom PHP2Shell list\u0119 \u015brodk\u00f3w zaradczych, kt\u00f3r\u0105 warto uwa\u017cnie przeczyta\u0107 ze wzgl\u0119du na wymagania: wy\u0142\u0105czenie przekierowania port\u00f3w routera i UPnP, wycofanie publikacji us\u0142ug myQNAPcloud, przeniesienie zdalnego dost\u0119pu za po\u015brednictwem sieci VPN, ograniczenie port\u00f3w zarz\u0105dzania do zaufanych podsieci, zatrzymanie niepotrzebnych aplikacji PHP, wy\u0142\u0105czenie wbudowanego serwera WWW, je\u015bli nie jest u\u017cywany, oraz audyt QuLog Center pod k\u0105tem oznak naruszenia bezpiecze\u0144stwa. To dobra rada dla nieza\u0142atanego komputera. Jest to r\u00f3wnie\u017c pro\u015bba o wy\u0142\u0105czenie witryny dla ka\u017cdego, kto hostuje publiczn\u0105 stron\u0119 internetow\u0105.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1400\" height=\"814\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" src=\"https:\/\/synopower.club\/wp-content\/uploads\/2026\/10\/php2shell-asustor-retirement.webp\" alt=\"Og\u0142oszenie ASUSTOR o wycofaniu starszej wersji PHP z dnia 22.10.2026 r., w kt\u00f3rym usuni\u0119to wersje PHP 7, 7.3, 7.4 i 8.1\" class=\"wp-image-22082\" srcset=\"https:\/\/synopower.club\/wp-content\/uploads\/2026\/10\/php2shell-asustor-retirement.webp 1400w, https:\/\/synopower.club\/wp-content\/uploads\/2026\/10\/php2shell-asustor-retirement-300x174.webp 300w, https:\/\/synopower.club\/wp-content\/uploads\/2026\/10\/php2shell-asustor-retirement-1024x595.webp 1024w, https:\/\/synopower.club\/wp-content\/uploads\/2026\/10\/php2shell-asustor-retirement-768x447.webp 768w, https:\/\/synopower.club\/wp-content\/uploads\/2026\/10\/php2shell-asustor-retirement-18x10.webp 18w, https:\/\/synopower.club\/wp-content\/uploads\/2026\/10\/php2shell-asustor-retirement-600x349.webp 600w, https:\/\/synopower.club\/wp-content\/uploads\/2026\/10\/php2shell-asustor-retirement-400x233.webp 400w, https:\/\/synopower.club\/wp-content\/uploads\/2026\/10\/php2shell-asustor-retirement-1000x581.webp 1000w\" \/><figcaption class=\"wp-element-caption\">ASUSTOR odpowiedzia\u0142 na PHP2Shell wycofuj\u0105c przestarza\u0142\u0105 wersj\u0119 PHP zamiast instalowa\u0107 na niej \u0142atk\u0119.<\/figcaption><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">ASUSTOR wybra\u0142 trzeci\u0105 drog\u0119. W swoim og\u0142oszeniu z 22 pa\u017adziernika, zatytu\u0142owanym \u201eOg\u0142oszenie o wycofaniu starszego PHP\u201d, firma usuwa PHP 7, PHP 7.3, PHP 7.4 i PHP 8.1 z App Central ze skutkiem natychmiastowym, zaleca tworzenie kopii zapasowych wa\u017cnych danych i nakazuje w\u0142a\u015bcicielom korzystanie wy\u0142\u0105cznie z PHP 8.3 lub 8.4. Rozumowanie to jest uzasadnione, poniewa\u017c upstream publikuje poprawki tylko do wersji 8.2 i nowszych. Dla w\u0142a\u015bciciela korzystaj\u0105cego ze starej aplikacji PHP efekt jest taki, \u017ce \u015brodowisko wykonawcze znika z repozytorium, a nie zostaje naprawione, a ASUSTOR nie informuje o udost\u0119pnieniu poprawionej wersji 8.3 lub 8.4. Nale\u017cy zauwa\u017cy\u0107 kontrast z Synology, kt\u00f3ry opublikowa\u0142 poprawion\u0105 wersj\u0119 7.4 pod numerem 7.4.33-0131, dok\u0142adnie dla tych u\u017cytkownik\u00f3w, kt\u00f3rych ASUSTOR prosi o migracj\u0119.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">W przypadku UGREEN nie uda\u0142o nam si\u0119 znale\u017a\u0107 \u017cadnego ostrze\u017cenia dotycz\u0105cego PHP2Shell dla UGOS Pro. Brak publicznego o\u015bwiadczenia nie jest dowodem na podatno\u015b\u0107 produktu, a UGOS Pro mo\u017ce po prostu nie zawiera\u0107 \u015brodowiska uruchomieniowego PHP dost\u0119pnego w przegl\u0105darce. Jednak je\u015bli jeste\u015b w\u0142a\u015bcicielem, milczenie nie jest odpowiedzi\u0105, na kt\u00f3r\u0105 mo\u017cesz zareagowa\u0107, a to ju\u017c samo w sobie stanowi rodzaj ekspozycji.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Nic z tego nie czyni Synology idealnym. Nie naprawi on PHP 7.3, oznacza DSM 7.2 jako koniec wsparcia, a jego w\u0142asny, wewn\u0119trzny komponent PHP jest nadal planowany, a nie \u0142atany. Chodzi o co\u015b wi\u0119cej i bardziej u\u017cytecznego ni\u017c argument o marce: w dniu, w kt\u00f3rym w silniku PHP pojawi\u0142 si\u0119 b\u0142\u0105d umo\u017cliwiaj\u0105cy zdalne wykonanie kodu przed autoryzacj\u0105, jeden dostawca zamieni\u0142 napraw\u0119 w przycisk w Centrum Pakiet\u00f3w, a inni w gr\u0119 na czekanie.<\/p>\n\n\n\n<h2 id=\"where-to-find-more-official-resources\" class=\"wp-block-heading\">Gdzie znale\u017a\u0107 wi\u0119cej oficjalnych zasob\u00f3w<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">W momencie pisania tego tekstu PHP2Shell ma ju\u017c dwa dni, a sytuacja wci\u0105\u017c si\u0119 zmienia, dlatego nale\u017cy korzysta\u0107 z materia\u0142\u00f3w \u017ar\u00f3d\u0142owych, a nie streszcze\u0144. \u017baden z dostawc\u00f3w nie opublikowa\u0142 jeszcze oficjalnego materia\u0142u wideo, wi\u0119c poni\u017csza lista stanowi raczej dokumentacj\u0119 ni\u017c poradniki.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/www.synology.com\/en-global\/security\/advisory\/Synology_SA_26_14\" target=\"_blank\" rel=\"noreferrer noopener\">Synology-SA-26:14<\/a> to wiarygodna tabela wersji. Sprawd\u017a j\u0105 ponownie przed instalacj\u0105 poprawki, poniewa\u017c ostrze\u017cenia s\u0105 aktualizowane.<\/li>\n\n\n\n<li><a href=\"https:\/\/www.synology.com\/en-global\/company\/news\/article\/php2shell\/Synology%20Statement%20on%20PHP2Shell%20Vulnerabilities\" target=\"_blank\" rel=\"noreferrer noopener\">O\u015bwiadczenie PSIRT Synology<\/a> wymienia pakiety, kt\u00f3rych to dotyczy, i wyja\u015bnia wewn\u0119trzny komponent DSM oraz wyj\u0105tek Mail Station.<\/li>\n\n\n\n<li>Ostrze\u017cenia GitHub GHSA-w8hw-w9fx-j79w i GHSA-6wmf-4rv5-p3rp pochodz\u0105 z ostrze\u017cenia Synology i opisuj\u0105 zachowanie silnika, a nie pakiet dostawcy.<\/li>\n\n\n\n<li><a href=\"https:\/\/www.qnap.com\/en\/security-advisory\/qsa-26-18\" target=\"_blank\" rel=\"noreferrer noopener nofollow\">QNAP QSA-26-18<\/a> Tutaj pojawi si\u0119 poprawiona wersja oprogramowania sprz\u0119towego, je\u015bli u\u017cywasz QTS lub QuTS Hero. To strona, kt\u00f3r\u0105 warto obserwowa\u0107, a nie artyku\u0142 informacyjny.<\/li>\n\n\n\n<li>Twoje Centrum Pakiet\u00f3w to ostatnie s\u0142owo w kwestii tego, co jest zainstalowane. Komunikat informuje o docelowej wersji, kafelek informuje o tym, co faktycznie masz, i tylko <code>php -v<\/code> informuje Ci\u0119, co jest uruchomione.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Aby uzyska\u0107 informacje na temat uruchamiania witryn publicznych na maszynach wirtualnych Synology, zapoznaj si\u0119 z naszym przewodnikiem <a href=\"https:\/\/synopower.club\/pl\/synology-vdsm-docker-migration\/\">przenoszenie stosu Docker mi\u0119dzy go\u015b\u0107mi VDSM<\/a> opisuje nawyki zwi\u0105zane ze sporz\u0105dzaniem migawek i przywracaniem poprzednich wersji, kt\u00f3re umo\u017cliwi\u0142y przetrwanie tej sytuacji kryzysowej.<\/p>\n\n\n\n<h2 id=\"php2shell-limits-and-security-notes\" class=\"wp-block-heading\">Limity i uwagi dotycz\u0105ce bezpiecze\u0144stwa PHP2Shell<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\u0141atanie PHP2Shell jest proste w DSM i myl\u0105ce wsz\u0119dzie indziej, dlatego warto jasno okre\u015bli\u0107 kilka ogranicze\u0144 przed zako\u0144czeniem pracy.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Aktualizacja pakietu PHP2Shell nie jest audytem witryny. Aktualizacja PHP zamyka luk\u0119 od tego momentu, ale je\u015bli komputer by\u0142 dost\u0119pny z internetu mi\u0119dzy 20 a 22 pa\u017adziernika, to by\u0142 dost\u0119pny, gdy dzia\u0142aj\u0105cy exploit by\u0142 publiczny. Sprawd\u017a logi pod k\u0105tem nieoczekiwanego wolumenu POST, poszukaj plik\u00f3w, kt\u00f3re pojawi\u0142y si\u0119 w zapisywalnych katalogach i wymie\u0144 wszelkie dane uwierzytelniaj\u0105ce, kt\u00f3re m\u00f3g\u0142 przechowywa\u0107 pracownik PHP. Wariant ujawniania pami\u0119ci sprawia, \u017ce rotacja danych uwierzytelniaj\u0105cych jest rozs\u0105dnym \u015brodkiem ostro\u017cno\u015bci, a nie paranoj\u0105.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Weryfikacja PHP2Shell musi by\u0107 ukierunkowana na dzia\u0142aj\u0105cy interpreter. Panele sterowania, logi kompilacji i nag\u0142\u00f3wki odpowiedzi zawiod\u0142y co najmniej raz w tej rundzie. Sie\u0107 CDN mo\u017ce usun\u0105\u0107 nag\u0142\u00f3wek informuj\u0105cy o wersji, kompilacja mo\u017ce zg\u0142osi\u0107 powodzenie przy ponownym u\u017cyciu warstwy buforowanej, a kafelek pakietu mo\u017ce wy\u015bwietla\u0107 bie\u017c\u0105ce dane, podczas gdy stary proces roboczy nadal dzia\u0142a. Tylko <code>php -v<\/code> wewn\u0105trz rzeczy, kt\u00f3ra obs\u0142uguje pro\u015bby, rozstrzyga je.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Kontenery nie s\u0105 obj\u0119te \u017cadnymi ostrze\u017ceniami PHP2Shell od dostawc\u00f3w. Warto to powt\u00f3rzy\u0107, poniewa\u017c jest to najcz\u0119stsze b\u0142\u0119dne przekonanie o bezpiecze\u0144stwie na serwerach NAS. Je\u015bli Twoja witryna dzia\u0142a w Mened\u017cerze Kontener\u00f3w, Centrum Pakiet\u00f3w raportuj\u0105ce aktualno\u015b\u0107 oprogramowania nie m\u00f3wi nic o Twojej witrynie. To samo dotyczy aplikacji innych firm, kt\u00f3re do\u0142\u0105czaj\u0105 w\u0142asne \u015brodowisko wykonawcze.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Ograniczenia konfiguracji s\u0105 cz\u0119\u015bciowo zaprojektowane. Wy\u0142\u0105czenie post\u0119pu przesy\u0142ania sesji pomaga, usuni\u0119cie limitu pami\u0119ci zamienia jedno ryzyko na inne, a funkcja zapobiegania w\u0142amaniom na routerze nie mo\u017ce inspekcji ruchu TLS, kt\u00f3ry ko\u0144czy si\u0119 gdzie indziej. Potraktuj to wszystko jako czas, kt\u00f3ry zosta\u0142 zakupiony, podczas gdy przygotowujesz prawdziw\u0105 poprawk\u0119, a nie jako jej substytut.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u015arodowiska wykonawcze, kt\u00f3rych wsparcie dobieg\u0142o ko\u0144ca, w og\u00f3le nie maj\u0105 \u015bcie\u017cki PHP2Shell. PHP 7.3 i starsze wersje nie otrzyma\u0142y niczego z serwera \u017ar\u00f3d\u0142owego ani z Synology. Je\u015bli witryna rzeczywi\u015bcie wymaga nieobs\u0142ugiwanej ga\u0142\u0119zi, stoisz przed decyzj\u0105: migracja, izolacja lub wycofanie si\u0119 z publicznego internetu. Nie ma czwartej opcji, a udawanie, \u017ce jest inaczej, sprawia, \u017ce starsza witryna staje si\u0119 drog\u0105 do wszystkiego innego na tym samym komputerze.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Na koniec, \u015bled\u017a komunikat, a nie cykl informacyjny. Synology oznaczy\u0142 b\u0142\u0105d SA-26:14. Zosta\u0142 on rozwi\u0105zany i poprawiony raz w ci\u0105gu sze\u015bciu minut od publikacji. QNAP poinformowa\u0142, \u017ce b\u0142\u0105d QSA-26-18 b\u0119dzie aktualizowany w miar\u0119 pojawiania si\u0119 poprawionych wersji. Obie te strony ulegn\u0105 zmianie, a numery wersji w tym artykule odnosz\u0105 si\u0119 do tych opublikowanych 22 pa\u017adziernika 2026 r.<\/p>\n\n\n\n<h2 id=\"references\" class=\"wp-block-heading\">Odniesienia<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/www.synology.com\/en-global\/security\/advisory\/Synology_SA_26_14\" target=\"_blank\" rel=\"noreferrer noopener\">Synology-SA-26:14 Poradnik bezpiecze\u0144stwa PHP2Shell<\/a>, opublikowano 22 pa\u017adziernika 2026 r., status Rozwi\u0105zano, z poprawionymi wersjami dla PHP 7.4 do 8.4.<\/li>\n\n\n\n<li><a href=\"https:\/\/www.synology.com\/en-global\/company\/news\/article\/php2shell\/Synology%20Statement%20on%20PHP2Shell%20Vulnerabilities\" target=\"_blank\" rel=\"noreferrer noopener\">O\u015bwiadczenie Synology dotycz\u0105ce luk w zabezpieczeniach PHP2Shell<\/a>, notatka PSIRT zawieraj\u0105ca list\u0119 pakiet\u00f3w, kt\u00f3rych dotyczy problem, oraz list\u0119 zasi\u0119gu DSM.<\/li>\n\n\n\n<li><a href=\"https:\/\/www.qnap.com\/en\/security-advisory\/qsa-26-18\" target=\"_blank\" rel=\"noreferrer noopener nofollow\">QNAP QSA-26-18<\/a>, status Naprawianie, wymienione produkty z poprawionymi wersjami Do og\u0142oszenia.<\/li>\n\n\n\n<li><a href=\"https:\/\/www.asustor.com\/product\/status_detail?id=14\" target=\"_blank\" rel=\"noreferrer noopener nofollow\">Og\u0142oszenie o wycofaniu ASUSTOR Legacy PHP<\/a>, usuwaj\u0105c PHP 7, 7.3, 7.4 i 8.1 z App Central.<\/li>\n\n\n\n<li><a href=\"https:\/\/www.helpnetsecurity.com\/2026\/10\/21\/php2shell-php-vulnerabilities-patched-cve-2026-109618-cve-2026-109619\/\" target=\"_blank\" rel=\"noreferrer noopener nofollow\">Pom\u00f3\u017c Net Security w tworzeniu wyda\u0144 PHP2Shell<\/a>, obejmuj\u0105ce PHP 8.5.12, 8.4.27, 8.3.36 i 8.2.35 oraz backporty zawieraj\u0105ce wy\u0142\u0105cznie kod \u017ar\u00f3d\u0142owy dla starszych ga\u0142\u0119zi.<\/li>\n<\/ul>\n\n\n\n<h2 id=\"frequently-asked-questions\" class=\"wp-block-heading\">Cz\u0119sto zadawane pytania<\/h2>\n\n\n<div id=\"rank-math-faq\" class=\"rank-math-block\">\n<div class=\"rank-math-list\">\n<div id=\"faq-1\" class=\"rank-math-list-item\">\n<h3 class=\"rank-math-question\">Czy m\u00f3j serwer NAS Synology jest podatny na atak PHP2Shell?<\/h3>\n<div class=\"rank-math-answer\">\n\n<p>Tylko je\u015bli uruchamia pakiet zale\u017cny od PHP, kt\u00f3ry jest osi\u0105galny. Synology wymienia Kalendarz, IDrive, Joomla, KodExplorer, MailStation, MediaWiki, phpMyAdmin, vtigerCRM, Web Station i WordPress. Wewn\u0119trzny komponent PHP w DSM jest obecny, ale Synology stwierdza, \u017ce nie ma on nara\u017conej powierzchni ataku i ocenia ryzyko jako minimalne.<\/p>\n\n<\/div>\n<\/div>\n<div id=\"faq-2\" class=\"rank-math-list-item\">\n<h3 class=\"rank-math-question\">Jak za\u0142ata\u0107 PHP2Shell w DSM?<\/h3>\n<div class=\"rank-math-answer\">\n\n<p>Otw\u00f3rz Centrum Pakiet\u00f3w, przejd\u017a do sekcji Zainstalowane i zaktualizuj wszystkie pakiety PHP oznaczone jako Dost\u0119pne aktualizacje. Docelowe kompilacje to 7.4.33-0131, 8.0.30-0122, 8.1.34-0120, 8.2.35-0171, 8.3.36-0051 i 8.4.27-0051. Pakiety zale\u017cne uruchamiaj\u0105 si\u0119 ponownie, z wyj\u0105tkiem Mail Station, kt\u00f3ry wymaga r\u0119cznej aktualizacji.<\/p>\n\n<\/div>\n<\/div>\n<div id=\"faq-3\" class=\"rank-math-list-item\">\n<h3 class=\"rank-math-question\">Czy aktualizacja WordPressa rozwi\u0105zuje ten problem?<\/h3>\n<div class=\"rank-math-answer\">\n\n<p>Nie. B\u0142\u0105d wyst\u0119puje w silniku PHP, a nie w WordPressie, wi\u0119c aktualizacje rdzenia, motywu i wtyczek nic nie zmieniaj\u0105. Jedynym rozwi\u0105zaniem jest nowa kompilacja PHP. To najcz\u0119stsze nieporozumienie zwi\u0105zane z tym komunikatem.<\/p>\n\n<\/div>\n<\/div>\n<div id=\"faq-4\" class=\"rank-math-list-item\">\n<h3 class=\"rank-math-question\">Czy PHP 7.4 jest naprawd\u0119 za\u0142atane na Synology?<\/h3>\n<div class=\"rank-math-answer\">\n\n<p>Tak. Synology opublikowa\u0142 wersj\u0119 7.4.33-0131, mimo \u017ce PHP wyda\u0142o jedynie backport \u017ar\u00f3d\u0142owy bez numerowanego wydania dla tej ga\u0142\u0119zi. PHP 7.3 jest inne: Synology stwierdza, \u017ce poprawka nie zostanie udost\u0119pniona, poniewa\u017c wersja osi\u0105gn\u0119\u0142a koniec wsparcia.<\/p>\n\n<\/div>\n<\/div>\n<div id=\"faq-5\" class=\"rank-math-list-item\">\n<h3 class=\"rank-math-question\">Czy PHP2Shell ma wp\u0142yw na moj\u0105 witryn\u0119 dzia\u0142aj\u0105c\u0105 w Mened\u017cerze Kontener\u00f3w?<\/h3>\n<div class=\"rank-math-answer\">\n\n<p>\u017badna aktualizacja pakietu go nie dotyka. Musisz przebudowa\u0107 obraz poleceniem docker build \u2013pull, aby ponownie pobra\u0107 warstw\u0119 bazow\u0105, uruchomi\u0107 us\u0142ug\u0119 poleceniem up -d \u2013no-deps, a nast\u0119pnie potwierdzi\u0107 j\u0105 poleceniem php -v w kontenerze. Wynik kompilacji, kt\u00f3ry m\u00f3wi, \u017ce sukces nie jest dowodem.<\/p>\n\n<\/div>\n<\/div>\n<div id=\"faq-6\" class=\"rank-math-list-item\">\n<h3 class=\"rank-math-question\">Czy wy\u0142\u0105czenie session.upload_progress sprawi, \u017ce b\u0119d\u0119 bezpieczny?<\/h3>\n<div class=\"rank-math-answer\">\n\n<p>Zamyka jedn\u0105 \u015bcie\u017ck\u0119, a nie wszystkie. Wariant z ujawnieniem pami\u0119ci przechodzi przez standardow\u0105 obs\u0142ug\u0119 wielu cz\u0119\u015bci i nie wymaga funkcji sesji. Projekt PHP poinformowa\u0142, \u017ce nie ma kompletnych rozwi\u0105za\u0144 i \u017ce aktualizacja jest jedynym bezpiecznym rozwi\u0105zaniem.<\/p>\n\n<\/div>\n<\/div>\n<div id=\"faq-7\" class=\"rank-math-list-item\">\n<h3 class=\"rank-math-question\">Czy funkcja Threat Prevention na moim routerze mo\u017ce blokowa\u0107 PHP2Shell?<\/h3>\n<div class=\"rank-math-answer\">\n\n<p>Niekoniecznie. Jest to silnik sygnatur, kt\u00f3ry nie potrafi czyta\u0107 wewn\u0105trz protoko\u0142u TLS, ruch mi\u0119dzy odwrotnym serwerem proxy a \u017ar\u00f3d\u0142em w tej samej podsieci nigdy do niego nie dociera, a oficjalne zestawy regu\u0142 Snort i Emerging Threats nie opublikowa\u0142y \u017cadnych informacji na temat tych luk CVE w momencie pisania tego tekstu.<\/p>\n\n<\/div>\n<\/div>\n<div id=\"faq-8\" class=\"rank-math-list-item\">\n<h3 class=\"rank-math-question\">Czy QNAP i ASUSTOR naprawi\u0142y ju\u017c PHP2Shell?<\/h3>\n<div class=\"rank-math-answer\">\n\n<p>Stan na 22 pa\u017adziernika 2026 r. Komunikat QNAP QSA-26-18 ma status \u201eNaprawianie\u201d, przy czym ka\u017cda poprawiona wersja ma status \u201eDo og\u0142oszenia\u201d, a ASUSTOR zareagowa\u0142, usuwaj\u0105c starsze wersje PHP z App Central, zamiast publikowa\u0107 poprawion\u0105 kompilacj\u0119. Komunikat Synology-SA-26:14 oznaczono jako \u201eRozwi\u0105zany\u201d tego samego dnia, wraz z pe\u0142n\u0105 tabel\u0105 wersji.<\/p>\n\n<\/div>\n<\/div>\n<\/div>\n<\/div>","protected":false},"excerpt":{"rendered":"<p>PHP2Shell is the name the industry settled on for CVE-2026-109618 and CVE-2026-109619, a pair of critical flaws in the PHP engine itself that allow unauthenticated remote code execution. Details leaked on 20 October 2026, a day before the coordinated disclosure, and the PHP project shipped emergency releases on 21 October. Because the bug lives in [&hellip;]<\/p>\n","protected":false},"author":0,"featured_media":22085,"comment_status":"open","ping_status":"","sticky":false,"template":"","format":"standard","meta":{"_eb_attr":"","_xspeed_no_cache":false,"_xspeed_expiry_hours":0,"footnotes":""},"categories":[1],"tags":[],"class_list":["post-22083","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-others"],"_links":{"self":[{"href":"https:\/\/synopower.club\/pl\/wp-json\/wp\/v2\/posts\/22083","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/synopower.club\/pl\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/synopower.club\/pl\/wp-json\/wp\/v2\/types\/post"}],"replies":[{"embeddable":true,"href":"https:\/\/synopower.club\/pl\/wp-json\/wp\/v2\/comments?post=22083"}],"version-history":[{"count":1,"href":"https:\/\/synopower.club\/pl\/wp-json\/wp\/v2\/posts\/22083\/revisions"}],"predecessor-version":[{"id":22084,"href":"https:\/\/synopower.club\/pl\/wp-json\/wp\/v2\/posts\/22083\/revisions\/22084"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/synopower.club\/pl\/wp-json\/wp\/v2\/media\/22085"}],"wp:attachment":[{"href":"https:\/\/synopower.club\/pl\/wp-json\/wp\/v2\/media?parent=22083"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/synopower.club\/pl\/wp-json\/wp\/v2\/categories?post=22083"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/synopower.club\/pl\/wp-json\/wp\/v2\/tags?post=22083"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}