Νέα ευπάθεια PHP που μπορεί να επιτρέψει σε επιτιθέμενο να εκτελέσει κώδικα σε web server έγινε γνωστή δύο ημέρες μετά τις έκτακτες διορθώσεις για τα κρίσιμα κενά PHP2Shell. Το έργο PHP την αντιμετωπίζει ως απίθανο ρίσκο και δεν δημοσιεύει έκτακτο patch, αλλά συνιστά την απενεργοποίηση ενός χαρακτηριστικού μέχρι την επόμενη τακτική έκδοση.
Τι ανακοίνωσε το PHP
Η προειδοποίηση δημοσιεύθηκε στις 23 Οκτωβρίου με τη μορφή σύντομου ενημερωτικού δελτίου. Το νέο ζήτημα έχει αναγνωριστικό CVE-2026-115560 και είναι ξεχωριστό από τα δύο κρίσιμα PHP2Shell, τα CVE-2026-109618 και CVE-2026-109619. Εκείνα επιτρέπουν σε επιτιθέμενο χωρίς λογαριασμό να τρέξει κώδικα σε server και διορθώθηκαν στις 21 Οκτωβρίου με τις εκδόσεις PHP 8.5.12, 8.4.27, 8.3.36 και 8.2.35. Οι εκδόσεις αυτές δεν διορθώνουν το νέο πρόβλημα.
Επειδή η απαιτούμενη ρύθμιση είναι ασυνήθιστη, το PHP θα το χειριστεί στον κανονικό κύκλο εκδόσεων. Πλήρες δελτίο ασφαλείας για το CVE-2026-115560 θα δημοσιευθεί με την επόμενη έκδοση.
Σε ποιες ρυθμίσεις εμφανίζεται η ευπάθεια PHP
Ο κίνδυνος αφορά μόνο στενό σενάριο διαμόρφωσης. Σύμφωνα με το PHP, το πρόβλημα μπορεί να προκύψει όταν μια web εφαρμογή συνδυάζει όλα τα παρακάτω:
- ορίζει στη διαμόρφωσή της το
session.serialize_handlerσεphp_binaryήphp_serialize, - αλλάζει την τιμή σε
phpκατά την εκτέλεση, μέσω τηςini_set(), - κάνει την αλλαγή πριν καλέσει την
session_start().
Επιπλέον, πρέπει να παραμένει ενεργό το session upload progress, χαρακτηριστικό που επιτρέπει σε μια εφαρμογή να παρακολουθεί την πρόοδο ενός ανεβάσματος αρχείου και είναι ενεργοποιημένο από προεπιλογή.
Πότε εκτίθεται μια εφαρμογή στην ευπάθεια PHP
Μια εφαρμογή που δεν αλλάζει ποτέ τον serialize handler κατά την εκτέλεση μπορεί να έχει το χαρακτηριστικό ενεργό και δεν εκτίθεται μέσω αυτής της διαδρομής. Το PHP εκτιμά ότι ο συνδυασμός είναι απίθανος στην πράξη.
Το μέτρο μίας γραμμής και τα ανοιχτά ερωτήματα
Η προτεινόμενη λύση είναι ο ορισμός session.upload_progress.enabled=0 μέχρι να βγει η επόμενη τακτική έκδοση με διορθώσεις σφαλμάτων. Είναι η ίδια ρύθμιση που το PHP είχε ήδη προτείνει ως μέτρο μετριασμού στο δελτίο της 21ης Οκτωβρίου για το CVE-2026-109619. Όσοι την εφάρμοσαν τότε και την άφησαν ως έχει δεν χρειάζεται να κάνουν κάτι επιπλέον.
Το PHP δεν έχει διευκρινίσει ποιες εκδόσεις επηρεάζονται, ποιες θα περιέχουν τη διόρθωση ούτε έχει δώσει βαθμό σοβαρότητας. Δεν έχει επίσης πει αν το νέο ζήτημα έχει κοινή βασική αιτία με το CVE-2026-109619. Μέχρι στιγμής δεν έχει αναφερθεί εκμετάλλευσή του.
Η εικόνα γύρω από τα PHP2Shell
Η προσοχή των επιτιθέμενων παραμένει στα δύο παλαιότερα κενά. Η Amazon ανέφερε ότι τα honeypots της κατέγραψαν απόπειρα εκμετάλλευσης των CVE-2026-109618 και CVE-2026-109619 στις 17 Οκτωβρίου, τέσσερις ημέρες πριν από τη δημόσια αποκάλυψη. Η Cloudflare σημείωσε ότι οι απόπειρες ανήλθαν από δεκάδες χιλιάδες μέσα σε 45 λεπτά από την αποκάλυψη στις 21 Οκτωβρίου σε εκατομμύρια έως τις πρώτες ώρες της 22ας Οκτωβρίου.
Σύμφωνα με τη Sophos και την Arctic Wolf, επιτιθέμενοι προσπάθησαν να εγκαταστήσουν παραλλαγή του botnet Mirai. Οι απόπειρες αυτές μέχρι στιγμής αποτυγχάνουν: οι Previdian, Wordfence και άλλοι αναφέρουν σάρωση και διερεύνηση χωρίς επιβεβαιωμένη εκτέλεση κώδικα, ενώ ερευνητές εκτιμούν ότι η κατασκευή αξιόπιστου exploit είναι δυσκολότερη από το αναμενόμενο.
Τι διδάσκει το περιστατικό
Η περίπτωση δείχνει ότι η διαχείριση ευπαθειών δεν τελειώνει με ένα έκτακτο patch. Μια δεύτερη προειδοποίηση λίγες ημέρες αργότερα, ακόμη και για σπάνιο σενάριο, υπενθυμίζει ότι οι οργανισμοί χρειάζονται καταγεγραμμένη εικόνα των ρυθμίσεων των εφαρμογών τους και όχι μόνο των εκδόσεων που τρέχουν. Παράλληλα, ένα μέτρο μετριασμού που εφαρμόστηκε νωρίς μπορεί να καλύψει και μελλοντικά ζητήματα. Η επείγουσα προτεραιότητα παραμένει η εφαρμογή των διορθώσεων για τα PHP2Shell, καθώς εκεί καταγράφεται η μαζική δραστηριότητα.
Τι πρέπει να κάνετε
- Αναβαθμίστε στις εκδόσεις PHP 8.5.12, 8.4.27, 8.3.36 ή 8.2.35, ανάλογα με τον κλάδο που χρησιμοποιείτε, για να καλύψετε τα PHP2Shell.
- Ορίστε
session.upload_progress.enabled=0μέχρι την επόμενη τακτική έκδοση, αν η εφαρμογή σας δεν χρειάζεται το χαρακτηριστικό. - Ελέγξτε τον κώδικα για κλήσεις
ini_set()που αλλάζουν τοsession.serialize_handlerπριν από τηνsession_start(). - Επιβεβαιώστε ότι όσοι εφάρμοσαν το μέτρο της 21ης Οκτωβρίου το διατήρησαν στη διαμόρφωση.
- Παρακολουθήστε τα logs των web servers για ασυνήθιστη σάρωση ή απόπειρες εκτέλεσης κώδικα.
- Αναμείνατε το πλήρες δελτίο του PHP για το CVE-2026-115560 και προγραμματίστε άμεσα την αναβάθμιση όταν κυκλοφορήσει η έκδοση με τη διόρθωση.
Πηγή: The Hacker News

