Τρέχουσα κατάσταση: PHP2Shell. Δύο κρίσιμες ευπάθειες της PHP (CVSS 9.2) επιτρέπουν κακόβουλο κώδικα χωρίς σύνδεση. Patches από τις 21/10/2026.Τι πρέπει να γίνει τώρα →

cPanel και WHM: θωράκιση της PHP

Το cPanel διαχειρίζεται την PHP μέσω του EasyApache 4 με ξεχωριστά πακέτα ανά έκδοση. Δείτε πώς ελέγχετε την κατάσταση, επανεκκινείτε όλες τις διεργασίες και ορίζετε σωστά τις προσωρινές τιμές.

Ημερομηνία 5 λεπτά ανάγνωσηςΔιακομιστές και φιλοξενία

Εν συντομία: Η ενημέρωση PHP στο cPanel μετά το PHP2Shell περιλαμβάνει τρία βήματα: να φέρετε όλα τα πακέτα ea-php και, όπου υπάρχουν, alt-php σε διορθωμένο επίπεδο, να επανεκκινήσετε πλήρως το PHP-FPM και τον Apache και να τεκμηριώσετε το επίπεδο των πακέτων. Οι πελάτες στον διακομιστή δεν μπορούν να ορίσουν μόνοι τους τις σημαντικότερες προσωρινές τιμές· αυτό πρέπει να το κάνει ο διαχειριστής του WHM.

Αφετηρία στους διακομιστές cPanel

Το PHP2Shell περιλαμβάνει τις ευπάθειες CVE-2026-109618 και CVE-2026-109619 στην ίδια την PHP. Και οι δύο επιτρέπουν την εκτέλεση κακόβουλου κώδικα χωρίς σύνδεση και βαθμολογούνται με CVSS v4.0 9,2. Επηρεάζονται το PHP-FPM, ο Apache με mod_php, το php-cgi, το FrankenPHP και το LiteSpeed. Το έργο PHP δημοσίευσε στις 21/10/2026 τις εκδόσεις 8.5.12, 8.4.27, 8.3.36 και 8.2.35.

Το cPanel δεν παραδίδει την PHP ως ενιαίο πακέτο, αλλά μέσω του EasyApache 4 με ένα σύνολο πακέτων ανά έκδοση, για παράδειγμα ea-php83 ή ea-php84. Σε ορισμένους διακομιστές προστίθενται τα πακέτα του λειτουργικού συστήματος και στο CloudLinux οι εκδόσεις alt-php. Κάθε πηγή έχει δικό της επίπεδο. Μια πλήρης εικόνα προκύπτει μόνο όταν ελέγξετε και τις τρεις.

Ενημέρωση PHP στο cPanel: έλεγχος αποθέματος και αντιστοίχισης

Ξεκινήστε με καταγραφή του υπάρχοντος περιβάλλοντος. Οι παρακάτω εντολές μόνο διαβάζουν και δεν αλλάζουν τίποτα. Οι διαδρομές και τα ονόματα πακέτων είναι παραδείγματα και μπορεί να διαφέρουν ανάλογα με την εγκατάσταση.

# Εγκατεστημένες εκδόσεις PHP σύμφωνα με το WHM API
whmapi1 php_get_installed_versions

# Έκδοση ανά εγκατάσταση ea-php
for p in /opt/cpanel/ea-php*/root/usr/bin/php; do echo "$p"; "$p" -v | head -1; done

# Επίπεδο πακέτων (συστήματα βασισμένα σε RPM, παράδειγμα)
rpm -qa | grep -E '^ea-php[0-9]+-php-(cli|fpm|common)' | sort

Στο MultiPHP Manager βλέπετε ποιο domain χρησιμοποιεί ποια έκδοση και αν το PHP-FPM είναι ενεργοποιημένο. Σημειώστε τις εκδόσεις που είναι εγκατεστημένες αλλά δεν έχουν ανατεθεί σε κανένα domain. Κι αυτές πρέπει είτε να ενημερωθούν είτε να αφαιρεθούν.

Σωστή αξιολόγηση των backports

Όπως και σε άλλους παρόχους ισχύει: ο εμφανιζόμενος αριθμός έκδοσης δεν είναι το μοναδικό κριτήριο. Αν μια διόρθωση παραδίδεται ως backport, ο αριθμός μπορεί να παραμείνει αμετάβλητος. Ελέγξτε γι' αυτό επιπλέον το changelog του πακέτου και τις υποδείξεις του παρόχου.

# Αναζήτηση αριθμών CVE στο changelog ενός πακέτου (παράδειγμα)
rpm -q --changelog ea-php84-php-cli | grep -iE 'CVE-2026-1096(18|19)'

Αν δεν βρεθεί καταχώριση, αυτό δεν σημαίνει αυτόματα ότι λείπει η διόρθωση. Σημαίνει όμως ότι χρειάζεστε γραπτή επιβεβαίωση, προτού χαρακτηρίσετε τον διακομιστή ως διορθωμένο. Πώς διαβάζονται σωστά οι εκδόσεις, περιγράφει η σελίδα Έλεγχος έκδοσης PHP και επιπέδου patch.

Ενημέρωση, επανεκκίνηση και έλεγχος

Την ενημέρωση την εφαρμόζετε στο WHM μέσω της ενημέρωσης συστήματος ή με τον διαχειριστή πακέτων. Στη συνέχεια επανεκκινείτε όλες τις διεργασίες PHP. Τα νέα αρχεία μόνα τους δεν αρκούν, όσο εκτελούνται παλιές διεργασίες στη μνήμη.

# Επανεκκίνηση των υπηρεσιών PHP-FPM όλων των εκδόσεων (σενάριο του cPanel)
/scripts/restartsrv_apache_php_fpm

# Πλήρης επανεκκίνηση του Apache
/scripts/restartsrv_httpd

# Έλεγχος της ώρας εκκίνησης των διεργασιών PHP
ps -eo pid,lstart,cmd | grep -E 'php-fpm|lsphp|php-cgi' | grep -v grep

Κάθε διεργασία PHP πρέπει να έχει ώρα εκκίνησης μετά την ενημέρωση. Αν δεν ισχύει αυτό, τερματίστε την στοχευμένα μέσω της αντίστοιχης υπηρεσίας. Όταν έχετε περισσότερους διακομιστές, αξίζει ένα σύντομο πρωτόκολλο ανά μηχάνημα, που μπορείτε να χρησιμοποιήσετε αργότερα ως απόδειξη.

Σημαντικό

Μια ενημέρωση CMS μέσω εργαλείων του cPanel, όπως το WP Toolkit, δεν κλείνει την ευπάθεια της PHP. Είναι σκόπιμη, δεν αντικαθιστά όμως ούτε την ενημέρωση της PHP ούτε την επανεκκίνηση.

Κεντρικός ορισμός των προσωρινών τιμών

Αν μια έκδοση δεν έχει ακόμη διορθωθεί, το php.net συνιστά προσωρινά μέτρα που δεν προσφέρουν πλήρη προστασία. Στο cPanel τα ορίζετε στο MultiPHP INI Editor στη λειτουργία για διαχειριστές ή απευθείας στο php.ini της αντίστοιχης έκδοσης ea-php. Τιμές στο .user.ini των λογαριασμών πελατών δεν αρκούν για το session.upload_progress.enabled.

; php.ini σε επίπεδο διακομιστή για την επηρεαζόμενη έκδοση (παράδειγμα)
session.upload_progress.enabled = 0
post_max_size = 32M
upload_max_filesize = 24M

Χωρίς λειτουργία upload το php.net αναφέρει post_max_size = 8M. Στην PHP 8.5 προστίθεται το fatal_error_backtraces=0. Στη συνέχεια επανεκκινείτε ξανά όλους τους workers. Το όριο μνήμης το ορίζετε μέσω cgroups, για παράδειγμα με τα όρια του CloudLinux, και όχι μέσω RLIMIT_AS ή RLIMIT_DATA. Περισσότερες λεπτομέρειες υπάρχουν στη σελίδα Άμεσα μέτρα χωρίς patch.

Ευθύνη ανάμεσα στον διαχειριστή του διακομιστή και στους κατόχους λογαριασμών

Σε έναν διακομιστή cPanel με πολλούς λογαριασμούς την ευθύνη για την PHP, τις υπηρεσίες και τη διαμόρφωση σε επίπεδο διακομιστή φέρει ο διαχειριστής του WHM. Οι κάτοχοι των επιμέρους λογαριασμών είναι υπεύθυνοι για τις εφαρμογές, τα plugins και τα στοιχεία πρόσβασής τους. Ενημερώστε τους κατόχους λογαριασμών πότε και πώς έγινε το patch και συστήστε τους να ελέγξουν τις εφαρμογές τους για ανωμαλίες. Πώς φαίνεται η κατάσταση από την πλευρά του πελάτη, περιγράφει η σελίδα Shared Hosting.

Διατηρήστε τα logs από τις 20/10/2026. Ένα patch δεν αφαιρεί κακόβουλο λογισμικό που εισήχθη νωρίτερα.

Για την απόδειξη αρκεί ένα απλό πρωτόκολλο ανά διακομιστή: ημερομηνία και ώρα της ενημέρωσης, λίστα των πακέτων ea-php και alt-php με την έκδοση πριν και μετά, η λίστα διεργασιών με τις ώρες εκκίνησης μετά την επανεκκίνηση και, αν χρειάζεται, η επιβεβαίωση του προμηθευτή των πακέτων για τα backports. Αποθηκεύστε το πρωτόκολλο εκτός του διακομιστή. Θα χρησιμεύσει αργότερα ως τεκμήριο έναντι πελατών, ασφαλιστών ή ελεγκτών και διευκολύνει την επόμενη έκτακτη ενημέρωση, επειδή τα βήματα έχουν ήδη περιγραφεί. Αν λειτουργείτε περισσότερους διακομιστές cPanel, αξίζει να συγκεντρώσετε τις εντολές ανάγνωσης αυτής της σελίδας σε ένα μικρό σενάριο, που εκτελείται με τον ίδιο τρόπο σε όλα τα μηχανήματα και συλλέγει τα αποτελέσματα. Έτσι αναγνωρίζετε με μια ματιά αποκλίσεις μεταξύ διακομιστών, για παράδειγμα μια ξεχασμένη έκδοση PHP.

Πώς βοηθά συγκεκριμένα το PHP SOS;

  • Καταγράφουμε τα πακέτα ea-php, alt-php και συστήματος και αντιστοιχίζουμε όλους τους λογαριασμούς στην έκδοση PHP τους.
  • Μέσω της υπηρεσίας PHP-Patch ενημερώνουμε, επανεκκινούμε όλες τις υπηρεσίες και τεκμηριώνουμε την κατάσταση με λίστες πακέτων και χρόνους διεργασιών.
  • Όπου χρειάζεται, ορίζουμε τις προσωρινές τιμές σε επίπεδο διακομιστή και με τρόπο που δεν αντικαθίσταται.
  • Ελέγχουμε τους λογαριασμούς για τυπικά ίχνη παραβίασης και, σε περίπτωση ευρήματος, ξεκινούμε την αφαίρεση κακόβουλου λογισμικού.
  • Στη συνέχεια μειώνουμε τον αριθμό των εκδόσεων PHP και σκληρύνουμε τη διαμόρφωση.

Συχνές ερωτήσεις

Πού βλέπω στο WHM ποιο domain χρησιμοποιεί ποια έκδοση PHP;

Στο MultiPHP Manager του WHM βλέπετε για κάθε domain την ανατεθειμένη έκδοση και αν το PHP-FPM είναι ενεργό. Για πλήρη λίστα είναι χρήσιμο να κάνετε επιπλέον ερώτημα από τη γραμμή εντολών. Σημειώστε και εκδόσεις που δεν έχουν ανατεθεί σε κανένα domain.

Επιτρέπεται σε έναν πελάτη του cPanel να ορίσει μόνος του τις προσωρινές τιμές στο .user.ini;

Για το session.upload_progress.enabled το php.net αναφέρει ρητά ότι το .user.ini και το ini_set() δεν αρκούν. Η τιμή ανήκει στο php.ini, στο pool FPM ή στη διαμόρφωση του διακομιστή. Αυτό μπορεί να το κάνει μόνο ο διαχειριστής του διακομιστή.

Αρκεί μια graceful επανεκκίνηση του Apache;

Στο PHP-FPM πρέπει να επανεκκινηθούν οι ίδιες οι υπηρεσίες FPM· ένα reload του Apache δεν τις ανανεώνει. Στους handlers PHP που βασίζονται στον Apache η πλήρης επανεκκίνηση είναι ο ασφαλής τρόπος. Ελέγξτε στη συνέχεια την ώρα εκκίνησης όλων των διεργασιών PHP.

Τι ισχύει για το CloudLinux και το alt-php;

Σε διακομιστές CloudLinux οι ιστότοποι εκτελούνται εν μέρει με δικά τους πακέτα alt-php αντί για ea-php. Αυτά έχουν δικό τους επίπεδο πακέτων και πρέπει να ελεγχθούν και να ενημερωθούν ξεχωριστά.

Πηγές

Άμεση επικοινωνία

Κάθε ώρα μετράει. Γράψτε μας τώρα.

Περιγράψτε σύντομα το σύστημα, την έκδοση PHP και ό,τι παρατηρείτε. Θα επικοινωνήσουμε μαζί σας, θα διευκρινίσουμε την κατάσταση και θα εργαστούμε εξ αποστάσεως μέχρι το περιστατικό να κλείσει και να τεκμηριωθεί.

Άμεση βοήθεια