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

CVE-2026-115560: υπόδειξη για το Session Upload Progress

Το CVE-2026-115560 είναι μια υπόδειξη του php.net της 23/10/2026: πιθανή εκτέλεση κώδικα μόνο σε μια ασυνήθιστη διαμόρφωση session. Λύση μέχρι την επόμενη έκδοση: session.upload_progress.enabled=0.

Ημερομηνία 5 λεπτά ανάγνωσηςPHP2Shell

Εν συντομία: Το CVE-2026-115560 είναι μια υπόδειξη που δημοσίευσε το php.net στις 23 Οκτωβρίου 2026. Σύμφωνα με αυτήν, η εξ αποστάσεως εκτέλεση κώδικα είναι δυνατή μόνο σε μια ασυνήθιστη διαμόρφωση session. Μέχρι την επόμενη τακτική έκδοση διόρθωσης σφαλμάτων η λύση είναι: ορίστε στον διακομιστή session.upload_progress.enabled=0 και επανεκκινήστε όλους τους workers.

Τι είναι το CVE-2026-115560;

Δύο ημέρες μετά τα patches για τις ευπάθειες του PHP2Shell CVE-2026-109618 και CVE-2026-109619, το έργο PHP δημοσίευσε μια ακόμη υπόδειξη. Το CVE-2026-115560 αφορά την επεξεργασία των sessions της PHP σε συνδυασμό με τη λειτουργία Session Upload Progress, η οποία αποθηκεύει στο session την πρόοδο των ανεβασμάτων αρχείων που βρίσκονται σε εξέλιξη.

Σύμφωνα με το php.net είναι δυνατή η εξ αποστάσεως εκτέλεση κακόβουλου κώδικα, αλλά μόνο σε μια ασυνήθιστη διαμόρφωση. Το πλήρες advisory με όλες τις λεπτομέρειες αναμένεται με την επόμενη τακτική έκδοση διόρθωσης σφαλμάτων. Μέχρι τότε η γνώση είναι σκόπιμα περιορισμένη.

Τι κάνει το Session Upload Progress;

Το Session Upload Progress είναι μια λειτουργία ευκολίας της PHP. Όταν ένας επισκέπτης ανεβάζει ένα μεγαλύτερο αρχείο, η PHP γράφει κατά το ανέβασμα διαρκώς στο session στοιχεία για την πρόοδο: πόσα δεδομένα έχουν ήδη φτάσει και ποιο αρχείο μεταφέρεται αυτή τη στιγμή. Μια εφαρμογή μπορεί να ζητά παράλληλα αυτά τα στοιχεία και να χτίζει από αυτά μια γραμμή προόδου.

Στην πράξη το χρησιμοποιούν λίγες μόνο εφαρμογές, επειδή οι σύγχρονες φόρμες ανεβάσματος μετρούν την πρόοδο συνήθως απευθείας στον περιηγητή. Στην PHP η λειτουργία είναι όμως ενεργοποιημένη από προεπιλογή. Γι' αυτό εμφανίζεται τόσο στο CVE-2026-115560 όσο και στα προσωρινά μέτρα κατά του PHP2Shell: ό,τι δεν χρειάζεται, πρέπει να είναι απενεργοποιημένο.

Πότε επηρεάζεται ένας διακομιστής από το CVE-2026-115560;

Σύμφωνα με την υπόδειξη του php.net πρέπει να συντρέχουν τρεις προϋποθέσεις:

  1. Στη διαμόρφωση έχει οριστεί ως session.serialize_handler η τιμή php_binary ή php_serialize.
  2. Η εφαρμογή αλλάζει αυτή την τιμή κατά την εκτέλεση με ini_set() σε php, προτού καλέσει το session_start().
  3. Το Session Upload Progress είναι ενεργό.

Η προεπιλεγμένη τιμή του session.serialize_handler είναι php. Μια αλλαγή στη διαμόρφωση και επαναφορά στον κώδικα είναι ασυνήθιστη, συμβαίνει όμως σε παλιές ιδιόκτητες εφαρμογές ή σε βιβλιοθήκες με δική τους διαχείριση sessions. Το αν ισχύει στη δική σας περίπτωση, μπορεί να ελεγχθεί.

Έτσι ελέγχετε τη διαμόρφωσή σας

Πρώτα οι ενεργές τιμές. Το CLI μπορεί να διαβάζει άλλο php.ini από το PHP-FPM ή το mod_php· ελέγξτε γι' αυτό και τη διαμόρφωση του διακομιστή ιστού ή του pool FPM.

php -i | grep -E "session.serialize_handler|session.upload_progress.enabled"
grep -rn "serialize_handler\|upload_progress" /etc/php/ 2>/dev/null   # η διαδρομή διαφέρει ανά διανομή

Στη συνέχεια ο κώδικας της εφαρμογής. Η παρακάτω αναζήτηση είναι αποκλειστικά ανάγνωσης και δείχνει σημεία όπου ο handler ορίζεται κατά την εκτέλεση:

grep -rn "session.serialize_handler" /var/www/ --include="*.php"

Αν η αναζήτηση δεν βρει τίποτα και ο handler στη διαμόρφωση είναι php, ο περιγραφόμενος συνδυασμός είναι απίθανος. Το Session Upload Progress πρέπει παρ' όλα αυτά να το απενεργοποιήσετε, επειδή το php.net αναφέρει την ίδια ρύθμιση και ως προσωρινό μέτρο κατά του PHP2Shell.

Λύση: session.upload_progress.enabled=0

Ορίστε την τιμή στο php.ini, στο pool FPM ή στη διαμόρφωση του διακομιστή. Σύμφωνα με το php.net ρητά όχι μέσω ini_set() ή .user.ini, επειδή εκεί ισχύει πολύ αργά ή μπορεί να αντικατασταθεί από την εφαρμογή.

; php.ini (για όλα τα pools και τα SAPI που διαβάζουν αυτό το αρχείο)
session.upload_progress.enabled = 0

; ή στο pool FPM
php_admin_flag[session.upload_progress.enabled] = off
# Apache με mod_php, στο VirtualHost ή στη διαμόρφωση του διακομιστή
php_admin_flag session.upload_progress.enabled off

Στη συνέχεια επανεκκινήστε όλους τους workers PHP, για παράδειγμα systemctl restart php8.3-fpm ή τον Apache στο mod_php. Τα ονόματα πακέτων και υπηρεσιών διαφέρουν ανά διανομή. Χωρίς επανεκκίνηση συνεχίζει να ισχύει η παλιά ρύθμιση. Περισσότερα στο Επανεκκίνηση του PHP-FPM και όλων των workers.

Συμβουλή

Ελέγξτε μετά την επανεκκίνηση αν η ρύθμιση ισχύει πράγματι: στο πλαίσιο του ιστού, όχι μόνο στη γραμμή εντολών. Μια σύντομα στημένη, προστατευμένη ως προς την πρόσβαση σελίδα phpinfo δείχνει την ισχύουσα τιμή· διαγράψτε την αμέσως μετά.

Κατάταξη δίπλα στο PHP2Shell

Το CVE-2026-115560 είναι σαφώς στενότερο από τις δύο ευπάθειες του PHP2Shell, οι οποίες ενεργοποιούνται στους συνήθεις τρόπους λειτουργίας χωρίς ειδική διαμόρφωση. Όποιος πρέπει να βάλει προτεραιότητες αυτή τη στιγμή, πρέπει πρώτα να εφαρμόσει την ενημέρωση του PHP2Shell και στη συνέχεια να ορίσει session.upload_progress.enabled=0. Και τα δύο μαζί είναι εφικτά σε ένα παράθυρο συντήρησης.

Για τη διοίκηση και όσους δεν είναι τεχνικοί: το CVE-2026-115560 δεν είναι λόγος ανησυχίας, αλλά ένα σημείο στη λίστα. Η ρύθμιση ορίζεται γρήγορα, δεν επηρεάζει αισθητά σχεδόν καμία εφαρμογή και καλύπτει ταυτόχρονα ένα από τα προσωρινά μέτρα κατά του PHP2Shell. Τα υπόλοιπα προσωρινά μέτρα του php.net βρίσκονται στο Άμεσα μέτρα όταν δεν μπορείτε ακόμη να εφαρμόσετε patch, γενικές υποδείξεις για τη διαμόρφωση των sessions στο Ασφάλιση των sessions στην PHP.

Αυτό που δεν γνωρίζουμε ακόμη: ποιες ακριβώς εκδόσεις PHP επηρεάζονται και ποια έκδοση θα φέρει τη διόρθωση. Θα ενημερώσουμε αυτή τη σελίδα μόλις εμφανιστεί το advisory.

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

Στο πλαίσιο της σκλήρυνσης διακομιστή εφαρμόζουμε τη λύση μόνιμα και με δυνατότητα ελέγχου:

  • Ανάγνωση της διαμόρφωσης: ισχύουσες τιμές session ανά SAPI, pool και εικονικό host.
  • Αναζήτηση στον κώδικα: σημεία όπου ο handler ή οι επιλογές session αλλάζουν κατά την εκτέλεση.
  • Απενεργοποίηση στο σωστό σημείο: στο php.ini, στο pool ή στη διαμόρφωση του διακομιστή, χωρίς δυνατότητα αντικατάστασης από την εφαρμογή, με επακόλουθη επανεκκίνηση.
  • Παρακολούθηση: Όταν εμφανιστεί η έκδοση διόρθωσης, την εφαρμόζουμε και τεκμηριώνουμε την κατάσταση.

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

Είναι το CVE-2026-115560 μέρος του PHP2Shell;

Η ανακοίνωση ήρθε δύο ημέρες μετά τα patches του PHP2Shell και αφορά επίσης την ίδια την PHP. Είναι όμως ξεχωριστή ευπάθεια με δικό της αριθμό CVE και ενεργοποιείται μόνο σε μια συγκεκριμένη, ασυνήθιστη διαμόρφωση. Οι ενημερώσεις του PHP2Shell της 21ης Οκτωβρίου δεν την διορθώνουν σύμφωνα με τα μέχρι τώρα δεδομένα.

Υπάρχει ήδη ενημέρωση για το CVE-2026-115560;

Σύμφωνα με την κατάσταση της 25/10/2026 όχι. Το php.net ανακοινώνει ότι το πλήρες advisory θα ακολουθήσει με την επόμενη τακτική έκδοση διόρθωσης σφαλμάτων. Μέχρι τότε το session.upload_progress.enabled=0 είναι η συνιστώμενη λύση.

Τι χαλάει αν απενεργοποιήσω το Session Upload Progress;

Η λειτουργία αναφέρει στην εφαρμογή την πρόοδο των ανεβασμάτων αρχείων που βρίσκονται σε εξέλιξη. Μόνο οι εφαρμογές που υλοποιούν μια τέτοια γραμμή προόδου μέσω αυτής της συνάρτησης PHP χάνουν την ένδειξη. Το ίδιο το ανέβασμα συνεχίζει να λειτουργεί.

Πηγές

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

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

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

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