Εν συντομία: Για την ευπάθεια ασφαλείας της PHP 8.1, το PHP2Shell, δεν υπάρχει επίσημη ενημέρωση. Το έργο PHP παρέχει για τις 7.4, 8.0 και 8.1 μόνο ελάχιστα backports πηγαίου κώδικα, όχι έτοιμες εκδόσεις. Όποιος εκτελεί αυτές τις εκδόσεις χρειάζεται ένα επιβεβαιωμένο backport από τον πάροχό του ή προσωρινά μέτρα και πρέπει να σχεδιάσει τώρα τη μετάβαση σε υποστηριζόμενη έκδοση.
Υπάρχει ενημέρωση για την ευπάθεια της PHP 8.1;
Όχι από το έργο PHP. Στις 21 Οκτωβρίου 2026 εμφανίστηκαν επίσημες διορθώσεις μόνο για τους υποστηριζόμενους κλάδους: 8.5.12, 8.4.27, 8.3.36 και 8.2.35. Η PHP 8.1 και οι παλαιότερες εκδόσεις δεν λαμβάνουν πλέον επίσημες ενημερώσεις.
Επηρεάζονται παρ' όλα αυτά. Σύμφωνα με τον ειδικό τύπο οι ευάλωτες εκδόσεις φτάνουν σχεδόν συνεχόμενα πίσω μέχρι την PHP 5.4. Όποιος εκτελεί μία από αυτές τις εκδόσεις δημόσια προσβάσιμα, έχει επομένως μια κρίσιμη ευπάθεια με CVSS v4.0 9,2 χωρίς έτοιμο patch.
Για πολλές εταιρείες αυτό είναι έκπληξη, επειδή τέτοια συστήματα λειτουργούν συχνά εδώ και χρόνια σταθερά και απαρατήρητα. Το ότι μια έκδοση δεν λαμβάνει πλέον ενημερώσεις δεν γίνεται αντιληπτό στην καθημερινότητα, μέχρι να εμφανιστεί μια ευπάθεια όπως το PHP2Shell. Τα backports πηγαίου κώδικα για τις 7.4, 8.0 και 8.1 αποτελούν εξαίρεση και όχι επανέναρξη της τακτικής συντήρησης.
Τι σημαίνουν τα backports πηγαίου κώδικα
Για τις 7.4, 8.0 και 8.1 υπάρχουν ελάχιστα backports πηγαίου κώδικα. Πρόκειται για διορθώσεις στον πηγαίο κώδικα που έχουν μεταφερθεί σε αυτούς τους παλαιότερους κλάδους. Δεν είναι επίσημη έκδοση με αριθμό έκδοσης, δοκιμασμένο πακέτο και changelog.
Πρακτικά αυτό σημαίνει: κάποιος πρέπει να υιοθετήσει το backport, να μεταγλωττίσει ξανά την PHP από αυτό, να το δοκιμάσει και να το διανείμει. Αυτό μπορεί να γίνει με τρεις τρόπους:
- Η διανομή σας ενσωματώνει τη διόρθωση στα πακέτα της, για παράδειγμα στο πλαίσιο μακροχρόνιας υποστήριξης.
- Ο πάροχος φιλοξενίας σας χτίζει δικά του πακέτα PHP και εφαρμόζει το backport.
- Εσείς οι ίδιοι ή ένας πάροχος υπηρεσιών χτίζετε την PHP από τον πηγαίο κώδικα. Είναι απαιτητικό και πρέπει να επαναλαμβάνεται σε κάθε επόμενη ευπάθεια.
Το αν το σύστημά σας έχει λάβει backport, το ελέγχετε στο changelog του πακέτου:
apt changelog php8.1-fpm | grep -i -E "CVE-2026-109618|CVE-2026-109619" # Debian/Ubuntu
rpm -q --changelog php-fpm | grep -i -E "CVE-2026-109618|CVE-2026-109619" # οικογένεια RHEL
Τα ονόματα των πακέτων διαφέρουν ανά διανομή και πηγή πακέτων. Αν λείπει μια καταχώριση, ρωτήστε τον πάροχο. Πώς λειτουργεί αναλυτικά ο έλεγχος, αναφέρεται στο Σωστός έλεγχος έκδοσης PHP και επιπέδου patch.
Θωράκιση του παλιού διακομιστή μέχρι τη μετάβαση
Όσο δεν εκτελείται επιβεβαιωμένο backport, ισχύουν τα προσωρινά μέτρα του php.net: memory_limit=-1 χωρίς δυνατότητα αντικατάστασης με όριο μνήμης μέσω cgroup, post_max_size 8M ή 32M με upload_max_filesize κάτω από αυτό και session.upload_progress.enabled=0 στη διαμόρφωση του διακομιστή, και στη συνέχεια επανεκκίνηση όλων των workers. Δεν αποτελούν πλήρη προστασία. Λεπτομέρειες στο Άμεσα μέτρα όταν δεν μπορείτε ακόμη να εφαρμόσετε patch.
Προστίθενται μέτρα που μειώνουν την προσβασιμότητα: περιοχές διαχείρισης μόνο μέσω VPN ή εγκεκριμένων διευθύνσεων IP, απενεργοποίηση ιστοτόπων που δεν χρειάζονται, στενός περιορισμός των προσβάσεων στον διακομιστή. Το BSI (η γερμανική Ομοσπονδιακή Υπηρεσία Ασφάλειας Πληροφοριών) συνιστά να αποσυνδέονται προσωρινά από το δίκτυο οι διακομιστές χωρίς ενημέρωση. Για μια παλιά εφαρμογή που μεταφέρεται δύσκολα, μια απομονωμένη λύση μπορεί να είναι η πιο ειλικρινής απάντηση από μια λειτουργία στο ανοιχτό διαδίκτυο.
Αν ένας διακομιστής με PHP 8.1 ή παλαιότερη ήταν από τις 17 Οκτωβρίου απροστάτευτος στο δίκτυο, πάρτε το στα σοβαρά: το BSI υπολόγισε ταχεία εκμετάλλευση σε μεγάλη κλίμακα. Διασώστε τα logs από τις 20 Οκτωβρίου και αφήστε τον να ελεγχθεί για ίχνη προτού μεταβείτε.
Σχεδιασμός της μετάβασης: σε ποια έκδοση;
Ο στόχος είναι μια έκδοση που το έργο PHP υποστηρίζει και που αντέχει η εφαρμογή σας. Η PHP 8.2 κλείνει την ευπάθεια από την 8.2.35, φτάνει όμως στο τέλος της υποστήριξης στις 31/12/2026. Όποιος μεταβαίνει τώρα, πρέπει γι' αυτό να πάει, αν είναι δυνατό, στην 8.3 ή νεότερη, εφόσον το επιτρέπει η εφαρμογή. Την τρέχουσα κατάσταση αναφέρει το php.net στη σελίδα των υποστηριζόμενων εκδόσεων.
Ποια έκδοση PHP υποστηρίζει το CMS ή το κατάστημά σας, το ελέγχετε σύμφωνα με τις απαιτήσεις συστήματος του κατασκευαστή, για παράδειγμα στο wordpress.org, shopware.com ή typo3.org. Συχνά πρέπει πρώτα να ενημερωθεί η ίδια η εφαρμογή, προτού αλλάξει η PHP. Μια τυπική περίπτωση είναι τα παλαιότερα καταστήματα, που περιγράφουμε στη σελίδα Shopware 5. Το υπόβαθρο για τις συνέπειες των παρωχημένων εκδόσεων θα βρείτε στο PHP End of Life: κίνδυνοι παρωχημένων εκδόσεων.
| Βήμα | Περιεχόμενο |
|---|---|
| Καταγραφή | έκδοση PHP, εφαρμογή, επεκτάσεις, δικές σας προσαρμογές |
| Απαιτήσεις | υποστηριζόμενες εκδόσεις PHP σύμφωνα με τον κατασκευαστή |
| Περιβάλλον δοκιμών | αντίγραφο με νέα έκδοση PHP, αξιολόγηση του αρχείου καταγραφής σφαλμάτων |
| Μετάβαση | προγραμματισμένο παράθυρο συντήρησης, προετοιμασμένος δρόμος επιστροφής |
| Επακόλουθες εργασίες | έλεγχος των προσωρινών τιμών, εγκατάσταση παρακολούθησης |
Πώς βοηθά συγκεκριμένα η PHP SOS;
Με τη μετάβαση από PHP 8.1 και παλαιότερες σας οδηγούμε από την παλιά έκδοση σε μια υποστηριζόμενη:
- Άμεση θωράκιση: έλεγχος της κατάστασης των backports, ορισμός προσωρινών μέτρων, μείωση της προσβασιμότητας.
- Έλεγχος ιχνών: διάσωση logs από τις 20 Οκτωβρίου και ανάλυση για ανωμαλίες.
- Προετοιμασία της μετάβασης: διευκρίνιση της συμβατότητας σύμφωνα με τον κατασκευαστή, στήσιμο περιβάλλοντος δοκιμών, διόρθωση σφαλμάτων.
- Μετάβαση και απόδειξη: εγκατάσταση της νέας έκδοσης PHP, επανεκκίνηση όλων των διεργασιών, τεκμηρίωση της κατάστασης.
Συχνές ερωτήσεις
Επηρεάζεται η PHP 8.1 από το PHP2Shell;
Σύμφωνα με τον ειδικό τύπο επηρεάζονται σχεδόν όλες οι εκδόσεις μέχρι και την PHP 5.4, συμπεριλαμβανομένης της PHP 8.1. Το έργο PHP δεν δημοσιεύει πλέον επίσημες ενημερώσεις για την 8.1, παρά μόνο ελάχιστα backports πηγαίου κώδικα.
Τι είναι ένα backport πηγαίου κώδικα;
Μια διόρθωση στον πηγαίο κώδικα που έχει μεταφερθεί σε παλαιότερο κλάδο εκδόσεων. Δεν αποτελεί έτοιμη έκδοση: κάποιος πρέπει να την υιοθετήσει, να μεταγλωττίσει ξανά την PHP, να τη δοκιμάσει και να τη διανείμει. Αυτό μπορεί να το αναλάβει ο πάροχος της διανομής σας, ο πάροχος φιλοξενίας ή ένας πάροχος υπηρεσιών.
Αρκεί η αλλαγή σε PHP 8.2;
Βραχυπρόθεσμα η PHP 8.2.35 κλείνει την ευπάθεια. Η PHP 8.2 φτάνει όμως στο τέλος της υποστήριξης στις 31/12/2026. Όποιος έτσι κι αλλιώς μεταβαίνει, πρέπει γι' αυτό να ελέγξει αν η εφαρμογή υποστηρίζει σύμφωνα με τον κατασκευαστή και την 8.3 ή νεότερη.
Το κατάστημά μου λειτουργεί μόνο με PHP 7.4. Τι κάνω τώρα;
Τότε χρειάζονται δύο πράγματα παράλληλα: θωράκιση του διακομιστή με προσωρινά μέτρα και απομόνωση και μετάβαση της εφαρμογής σε έκδοση που αντέχει μια υποστηριζόμενη έκδοση PHP. Ποια είναι αυτή, αναγράφεται στις απαιτήσεις συστήματος του κατασκευαστή.