Εν συντομία: Όποιος θέλει να του εφαρμοστεί μια ενημέρωση PHP χρειάζεται περισσότερα από νέα πακέτα: αποφασιστικά είναι το σωστό επίπεδο πακέτων, η επανεκκίνηση όλων των διεργασιών PHP και μια απόδειξη γι' αυτό. Ακριβώς αυτό παρέχει η υπηρεσία PHP patch μας. Λαμβάνετε γραπτή απόδειξη ανά διακομιστή, την οποία μπορείτε να παρουσιάσετε εσωτερικά ή σε τρίτους.
Γιατί μια ενημέρωση PHP από μόνη της συχνά δεν αρκεί
Από τις 21/10/2026 υπάρχουν patches για τις ευπάθειες του PHP2Shell CVE-2026-109618 και CVE-2026-109619. Το BSI (η γερμανική Ομοσπονδιακή Υπηρεσία Ασφάλειας Πληροφοριών) συνιστά άμεση ενημέρωση. Στην πράξη βλέπουμε τρεις τυπικούς σκοπέλους.
Πρώτον, ο αριθμός έκδοσης δεν δείχνει πάντα την πραγματική κατάσταση. Οι διανομές και οι πάροχοι φιλοξενίας εφαρμόζουν εν μέρει backports· τότε, για παράδειγμα, το Plesk εξακολουθεί να αναφέρει 8.2.34, παρότι το επίπεδο των πακέτων έχει διορθωθεί. Δεύτερον, μετά την εγκατάσταση συχνά συνεχίζουν να εκτελούνται παλιές διεργασίες PHP. Τα νέα αρχεία στον δίσκο δεν προστατεύουν όσο οι παλιοί workers εργάζονται στη μνήμη. Τρίτον, σε έναν διακομιστή εκτελούνται συχνά παράλληλα περισσότερες εκδόσεις PHP και μία από αυτές ξεχνιέται.
Ενημέρωση PHP από ειδικούς: οι διορθωμένες εκδόσεις
| Κλάδος | Διορθώθηκε από | Προηγούμενη έκδοση | Υπόδειξη |
|---|---|---|---|
| PHP 8.5 | 8.5.12 | 8.5.11 | ελέγξτε επιπλέον το fatal_error_backtraces |
| PHP 8.4 | 8.4.27 | 8.4.26 | |
| PHP 8.3 | 8.3.36 | 8.3.35 | |
| PHP 8.2 | 8.2.35 | 8.2.34 | Η υποστήριξη λήγει στις 31/12/2026 |
| PHP 8.1 και παλαιότερες | καμία επίσημη ενημέρωση | – | μόνο ελάχιστα backports πηγαίου κώδικα για τις 7.4, 8.0, 8.1 |
Στα πακέτα από διανομές ή παρόχους φιλοξενίας δεν μετρά ο αριθμός μετά το «PHP», αλλά το επίπεδο πακέτων που ο πάροχος επιβεβαιώνει ως διορθωμένο. Πώς θα το ελέγξετε μόνοι σας, βλ. Σωστός έλεγχος έκδοσης PHP και επιπέδου patch.
Πώς βοηθά συγκεκριμένα η PHP SOS;
- Απογραφή: Καταγράφουμε όλες τις εγκαταστάσεις PHP στον διακομιστή, τον τρόπο λειτουργίας (PHP-FPM, mod_php, php-cgi, FrankenPHP, LiteSpeed) και ποιος ιστότοπος χρησιμοποιεί ποια έκδοση.
- Εγκατάσταση της ενημέρωσης: Εγκαθιστούμε τις διορθωμένες εκδόσεις από την πηγή πακέτων της διανομής σας, του πίνακα ελέγχου σας ή του επίσημου έργου. Για containers χτίζουμε μαζί σας νέα images.
- Επανεκκίνηση όλων των διεργασιών: Επανεκκινούμε πλήρως το PHP-FPM, τον Apache, το LiteSpeed ή τους αντίστοιχους workers και ελέγχουμε ότι καμία διεργασία δεν είναι παλαιότερη από την ενημέρωση. Το υπόβαθρο θα βρείτε στο Επανεκκίνηση του PHP-FPM και όλων των workers.
- Έλεγχος λειτουργίας: Ανοίγουμε τις σημαντικότερες σελίδες και λειτουργίες, όπως αρχική σελίδα, σύνδεση, φόρμες και ταμείο, και ελέγχουμε τα αρχεία καταγραφής σφαλμάτων.
- Απόδειξη: Λαμβάνετε ανά διακομιστή ένα πρωτόκολλο με έκδοση, επίπεδο πακέτων, χρονική στιγμή της επανεκκίνησης και ανοιχτά σημεία.
Ένα τυπικό βήμα ελέγχου μετά την επανεκκίνηση μοιάζει έτσι:
# έκδοση του PHP-CLI και του δυαδικού αρχείου FPM (η διαδρομή διαφέρει ανά σύστημα)
php -v
php-fpm8.3 -v
# ώρα εκκίνησης των διεργασιών FPM: πρέπει να είναι μετά την ενημέρωση
ps -o pid,lstart,cmd -C php-fpm8.3
Ειδικές περιπτώσεις: πίνακες ελέγχου, containers και πολλές εκδόσεις PHP
Σε διακομιστές με Plesk ή cPanel οι εκδόσεις PHP προέρχονται συχνά από τις πηγές πακέτων του πίνακα ελέγχου και όχι από τη διανομή. Εκεί ελέγχουμε κάθε εγκατεστημένη έκδοση χωριστά, ακόμη και όσες δεν έχουν αντιστοιχιστεί αυτή τη στιγμή σε κανέναν ιστότοπο. Τις αχρησιμοποίητες, παλιές εκδόσεις τις αφαιρούμε κατόπιν συνεννόησης, ώστε να μην ενεργοποιηθούν ξανά κατά λάθος.
Σε περιβάλλοντα Docker και Kubernetes δεν αρκεί μια ενημέρωση στον host. Η PHP βρίσκεται μέσα στο image, και μόνο ένα νέο image με διορθωμένη βάση, που διανέμεται σε όλα τα containers που εκτελούνται, κλείνει την ευπάθεια. Ελέγχουμε παράλληλα αν χρησιμοποιούνται ακόμη παλαιότερα images σε registries ή deployments. Λεπτομέρειες θα βρείτε στο Patch της PHP σε containers Docker.
Στο mod_php η PHP εκτελείται απευθείας στη διεργασία του Apache. Η ομάδα της PHP κατατάσσει εκεί τον κίνδυνο ως τον υψηλότερο. Μετά την ενημέρωση πρέπει γι' αυτό να γίνει πλήρης επανεκκίνηση του ίδιου του Apache· η απλή επαναφόρτωση της διαμόρφωσης δεν αρκεί σε κάθε περίπτωση.
Τι λαμβάνετε από εμάς
- ένα πρωτόκολλο patch ανά διακομιστή: εγκατεστημένα πακέτα, εκδόσεις, πηγή, χρονική στιγμή
- την απόδειξη ότι επανεκκινήθηκαν όλες οι διεργασίες PHP
- μια λίστα με τους ιστότοπους και τις λειτουργίες που ελέγχθηκαν
- υποδείξεις για συστήματα που δεν μπόρεσαν να λάβουν patch, με αιτιολόγηση
- μια σύσταση για τη συνέχεια, για παράδειγμα στην PHP 8.2 λόγω του κοντινού τέλους της υποστήριξης
Τι χρειαζόμαστε από εσάς
- Πρόσβαση: SSH με δικαιώματα διαχειριστή ή πρόσβαση στον πίνακα ελέγχου (Plesk, cPanel κ.ά.)
- Παράθυρο συντήρησης: πότε επιτρέπεται μια σύντομη επανεκκίνηση
- Υπεύθυνο επικοινωνίας: για ερωτήσεις και για την έγκριση μετά τον έλεγχο λειτουργίας
- Αντίγραφα ασφαλείας: επιβεβαίωση ότι υπάρχει πρόσφατο αντίγραφο ή την εντολή να δημιουργηθεί ένα πριν
- Υποδείξεις για ιδιόκτητες εφαρμογές: ειδικές επεκτάσεις PHP ή διαμορφώσεις που πρέπει να ληφθούν υπόψη
Σε shared hosting χωρίς δική σας πρόσβαση στον διακομιστή δεν μπορούμε να εφαρμόσουμε εμείς το patch. Σας βοηθάμε τότε να θέσετε τις σωστές ερωτήσεις στον πάροχο φιλοξενίας και να αξιολογήσετε την απάντηση.
Τι δεν υποσχόμαστε
Η υπηρεσία patch κλείνει τη γνωστή ευπάθεια. Δεν απαντά αν ο διακομιστής είχε παραβιαστεί πριν από την ενημέρωση και δεν αφαιρεί κακόβουλο λογισμικό που έχει ήδη εισαχθεί. Αν θέλετε να το γνωρίζετε, η κατάλληλη ανάθεση είναι η άμεση βοήθεια για το PHP2Shell με αναζήτηση ιχνών.
Για την PHP 8.1 και παλαιότερες δεν υπάρχουν πλέον επίσημες ενημερώσεις. Εδώ εφαρμόζουμε προσωρινά μέτρα και συνιστούμε τη μετάβαση σε υποστηριζόμενη έκδοση. Δέσμευση συμβατότητας για το CMS σας δεν δίνουμε από μνήμης, αλλά την ελέγχουμε με βάση τις απαιτήσεις συστήματος του κατασκευαστή.
Συχνές ερωτήσεις
Γιατί ο διακομιστής μου δείχνει ακόμη την παλιά έκδοση PHP μετά την ενημέρωση;
Αυτό μπορεί να έχει δύο αιτίες. Είτε η διανομή έχει εφαρμόσει ένα backport, οπότε ο αριθμός έκδοσης παραμένει ο ίδιος, παρότι το επίπεδο των πακέτων έχει διορθωθεί. Είτε παλιές διεργασίες PHP εκτελούνται ακόμη στη μνήμη και πρέπει να επανεκκινηθούν.
Ποιες εκδόσεις PHP κλείνουν το PHP2Shell;
Η ευπάθεια έχει διορθωθεί στις PHP 8.5.12, 8.4.27, 8.3.36 και 8.2.35, που δημοσιεύθηκαν στις 21/10/2026. Στα πακέτα διανομών μετρά το επίπεδο των πακέτων που ο πάροχος επιβεβαιώνει ως διορθωμένο.
Μπορεί η ενημέρωση να παραλύσει τον ιστότοπό μου;
Μια ενημέρωση εντός της ίδιας κύριας έκδοσης, για παράδειγμα από την 8.3.35 στην 8.3.36, είναι κατά κανόνα ακίνδυνη. Απαιτείται όμως μια σύντομη επανεκκίνηση των διεργασιών PHP. Συντονίζουμε μαζί σας το χρονικό παράθυρο και ελέγχουμε στη συνέχεια τις σελίδες.
Με το patch έχει ολοκληρωθεί τα πάντα;
Για την ίδια την ευπάθεια ναι, μόλις επανεκκινηθούν όλες οι διεργασίες. Το αν είχε εισέλθει κάποιος πριν από το patch, δεν το δείχνει το patch. Γι' αυτό χρειάζεται ξεχωριστός έλεγχος.