SilentShield
← Πίσω στο Blog
ΑσφάλειαPHPΠροειδοποίηση

Κρίσιμες ευπάθειες στην PHP (CVE-2026-109618 και CVE-2026-109619): τι συνέβη και τι να κάνετε

Marc Wagner·22 Οκτωβρίου 2026·7 λεπτά ανάγνωση

Στις 21 Οκτωβρίου 2026 το έργο PHP κυκλοφόρησε διορθώσεις για δύο κρίσιμα σφάλματα και το CERT-EU δημοσίευσε την ίδια ημέρα τη συμβουλή ασφαλείας 2026-018. Και τα δύο έχουν βαθμολογία 9,2 και περιγράφονται ως εκτέλεση κώδικα εξ αποστάσεως χωρίς έλεγχο ταυτότητας. Αν διατηρείτε έναν ιστότοπο WordPress, ένα ηλεκτρονικό κατάστημα ή οποιαδήποτε άλλη εφαρμογή PHP, αυτό σας αφορά, και η λύση είναι μια ενημέρωση, όχι μια ρύθμιση. Το άρθρο εξηγεί τι είναι γνωστό, πώς εισέρχεται η επίθεση και τι να κάνετε. Κατάσταση: 22 Οκτωβρίου 2026, με βάση την έκδοση 1.1 της συμβουλής του CERT-EU.

Τι συνέβη

Η PHP ανακοίνωσε μια έκδοση ασφαλείας στις 20 Οκτωβρίου και δημοσίευσε τις διορθώσεις στις 21 Οκτωβρίου στις 13:30 UTC. Το CERT-EU τιτλοφόρησε τη συμβουλή του «Κρίσιμες ευπάθειες στην PHP» και αναφέρει δύο CVE: CVE-2026-109618 και CVE-2026-109619, με βαθμολογία 9,2 το καθένα. Το CERT-EU γράφει επίσης ότι οι τεχνικές λεπτομέρειες συζητούνται πλέον δημόσια και ότι έχει αρχίσει να κυκλοφορεί ο πρώτος κώδικας απόδειξης της ιδέας. Η συμβουλή δεν επιβεβαιώνει επιθέσεις στην πράξη, αλλά αναφέρει ότι αυτό καθιστά πιθανότερο οι επιτιθέμενοι να εκμεταλλεύονται ήδη τα σφάλματα. Αντιμετωπίστε το ως επείγον.

Ποιοι επηρεάζονται

Επηρεάζονται όλες οι εκδόσεις της PHP χαμηλότερες από τη διορθωμένη σε έναν υποστηριζόμενο κλάδο, καθώς και κάθε κλάδος που έχει φτάσει στο τέλος της υποστήριξής του.

ΚλάδοςΕπηρεάζεται κάτω απόΔιορθώθηκε στην
PHP 8.58.5.128.5.12
PHP 8.48.4.278.4.27
PHP 8.38.3.368.3.36
PHP 8.28.2.358.2.35
PHP 8.1 και παλαιότερεςόλες οι εκδόσειςκαμία τακτική ενημέρωση· η ομάδα ασφαλείας της PHP δημοσίευσε ελάχιστες μεταφορές διορθώσεων στον πηγαίο κώδικα για τις 7.4, 8.0 και 8.1

Το CERT-EU αναφέρει PHP-FPM, Apache με mod_php, php-cgi, FrankenPHP και LiteSpeed. Σύμφωνα με την ομάδα της PHP, το mod_php φέρει τον υψηλότερο κίνδυνο. Μπορεί να επηρεάζονται και προϊόντα που ενσωματώνουν την PHP· το CERT-EU παραπέμπει σε έναν κατάλογο του ολλανδικού NCSC στο τέλος αυτού του άρθρου. Μετράει κάθε εγκατάσταση που εξυπηρετεί αιτήματα ιστού, ανεξάρτητα από το αν διαθέτει φόρμα μεταφόρτωσης.

Πώς φτάνει ο επιτιθέμενος στο πρώτο σφάλμα

Κανείς δεν χρειάζεται να συνδεθεί. Σύμφωνα με το CERT-EU, μια επιδειχθείσα εκμετάλλευση δείχνει ότι ένα μόνο αίτημα χωρίς έλεγχο ταυτότητας μπορεί να πυροδοτήσει την επίθεση πριν εκτελεστεί οποιοσδήποτε κώδικας της εφαρμογής. Αυτό είναι το σημείο που οι περισσότεροι παραβλέπουν: δεν έχει σημασία αν το WordPress σας είναι ενημερωμένο, αν τα πρόσθετά σας έχουν διορθωθεί ή αν η φόρμα επικοινωνίας σας είναι προστατευμένη. Το αίτημα φτάνει πρώτα στη μηχανή της PHP.

Το πρώτο σφάλμα, CVE-2026-109618, λειτουργεί ως εξής:

  1. Ένα αίτημα φτάνει σε μια διεύθυνση που εξυπηρετείται από την PHP. Χωρίς σύνδεση, χωρίς λογαριασμό.
  2. Η PHP αρχίζει να διαβάζει το σώμα του αιτήματος. Το CERT-EU αναφέρει ως παράδειγμα την ανάλυση μεταφορτώσεων αρχείων μέσω φόρμας.
  3. Η PHP επιβάλλει το memory_limit της με longjmp(). Όταν το όριο ξεπεραστεί, εγκαταλείπει απότομα ό,τι έκανε και τερματίζει το αίτημα.
  4. Αν αυτό συμβεί στη μέση της δημιουργίας των εσωτερικών δεδομένων του αιτήματος, τα δεδομένα αυτά έχουν κατασκευαστεί μόνο κατά το ήμισυ.
  5. Ο καθαρισμός που ακολουθεί θεωρεί τα άκυρα δεδομένα έγκυρα και αποδεσμεύει μνήμη που δεν αρχικοποιήθηκε ποτέ. Η μνήμη αυτή μπορεί ακόμη να περιέχει δεδομένα από προηγούμενες δεσμεύσεις που ο επιτιθέμενος ελέγχει.
  6. Από εκεί και πέρα, η συμβουλή περιγράφει εκτέλεση κώδικα εξ αποστάσεως στον διακομιστή.

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

Το δεύτερο σφάλμα: κατάσταση που επιβιώνει της μνήμης της

Το CVE-2026-109619 είναι διαφορετικός μηχανισμός με το ίδιο αποτέλεσμα. Η PHP διατηρεί εσωτερική κατάσταση για κάθε αίτημα. Μετά από ορισμένες αποτυχίες, όπως ένα μοιραίο σφάλμα, η κατάσταση αυτή μπορεί να παραμείνει ενώ η μνήμη από κάτω της έχει αποδεσμευτεί. Το επόμενο αίτημα που εξυπηρετεί η ίδια διεργασία εργασίας μπορεί τότε να χρησιμοποιήσει αυτή την απαρχαιωμένη κατάσταση πριν επαναφερθεί με τον συνήθη τρόπο. Ο επιτιθέμενος χρειάζεται δύο αιτήματα που καταλήγουν στην ίδια διεργασία εργασίας· το CERT-EU βαθμολογεί το αποτέλεσμα όπως και στο πρώτο σφάλμα: εκτέλεση κώδικα εξ αποστάσεως.

Τι να κάνετε σήμερα

  1. Εντοπίστε ποια έκδοση της PHP εξυπηρετεί πραγματικά τον ιστότοπό σας. Το php -v στη γραμμή εντολών δείχνει την έκδοση της γραμμής εντολών, που μπορεί να διαφέρει από αυτήν που χρησιμοποιεί ο διακομιστής ιστού σας. Ελέγξτε το php-fpm -v, τον πίνακα ελέγχου του πάροχου φιλοξενίας ή μια σελίδα που καλεί το phpinfo(). Σε κοινόχρηστη φιλοξενία, ρωτήστε τον πάροχό σας.
  2. Ενημερώστε σε διορθωμένη έκδοση: 8.5.12, 8.4.27, 8.3.36 ή 8.2.35. Οι διανομές συχνά μεταφέρουν διορθώσεις χωρίς να αλλάζουν τον αριθμό έκδοσης, γι' αυτό αναζητήστε τους αριθμούς CVE στην ανακοίνωση ασφαλείας του προμηθευτή σας. Στα κοντέινερ, δημιουργήστε ξανά την εικόνα από μια ενημερωμένη βασική εικόνα. Η ομάδα της PHP σημειώνει ότι το rpms.remirepo.net δεν είχε ενημερώσεις την ημέρα της κυκλοφορίας και συνιστά πακέτα διανομής ή μεταγλώττιση από τον πηγαίο κώδικα.
  3. Επανεκκινήστε κάθε διεργασία εργασίας της PHP. Μια ενημέρωση στον δίσκο δεν αλλάζει τις διεργασίες που ήδη τρέχουν. Επανεκκινήστε το PHP-FPM ή τον διακομιστή ιστού και ελέγξτε ξανά την έκδοση που εκτελείται.
  4. Αν δεν μπορείτε να ενημερώσετε σήμερα, απομονώστε τον διακομιστή από τα δημόσια δίκτυα μέχρι να εφαρμοστεί και να ελεγχθεί η διόρθωση. Το CERT-EU είναι σαφές ότι μόνο μια ενημέρωση διορθώνει πλήρως αυτά τα σφάλματα.
  5. Αν χρησιμοποιείτε PHP 8.1 ή παλαιότερη, ζητήστε από τον προμηθευτή σας τη μεταφερμένη διόρθωση ή μεταβείτε σε υποστηριζόμενο κλάδο. Οι εκδόσεις αυτές δεν λαμβάνουν τακτικές ενημερώσεις.

Παρακάμψεις που μειώνουν τον κίνδυνο αλλά δεν διορθώνουν το πρόβλημα

Το CERT-EU απαριθμεί μέτρα που δυσκολεύουν μια επίθεση. Δηλώνει ρητά ότι δεν καθιστούν μια εγκατάσταση ασφαλή. Χρησιμοποιήστε τα όσο προετοιμάζετε την ενημέρωση, όχι αντί για αυτήν.

  • Κατά του CVE-2026-109618: ορίστε memory_limit=-1 με τρόπο που οι εφαρμογές δεν μπορούν να παρακάμψουν, για παράδειγμα με php_admin_value στο pool του FPM, και βεβαιωθείτε ότι κανένα pool, κατάλογος ή καταχώριση εφαρμογής δεν ορίζει ξανά πεπερασμένο όριο. Ορίστε χαμηλό post_max_size (8M χωρίς μεταφορτώσεις, 32M με μεταφορτώσεις) και κρατήστε το upload_max_filesize κάτω από αυτό. Περιορίστε το μέγεθος του αιτήματος, τον αριθμό των πεδίων, τα τμήματα πολλαπλών μερών, τον αριθμό των κεφαλίδων και το βάθος εμφώλευσης στον διακομιστή ιστού ή στον διαμεσολαβητή. Χρησιμοποιήστε όριο μνήμης κοντέινερ ή cgroup ως όριο διαθεσιμότητας, αλλά όχι RLIMIT_AS ή RLIMIT_DATA, που μπορούν να προκαλέσουν την ευάλωτη αποτυχία δέσμευσης μνήμης.
  • Κατά του CVE-2026-109619: ορίστε session.upload_progress.enabled=0 στο php.ini, στο pool του FPM ή σε μια ρύθμιση του διακομιστή που ισχύει πριν από την ανάλυση του αιτήματος (όχι με ini_set() ή .user.ini) και επανεκκινήστε όλες τις διεργασίες εργασίας. Στην PHP 8.5 ορίστε επίσης fatal_error_backtraces=0. Αφαιρέστε άκυρες ή παρωχημένες ρυθμίσεις ανά αίτημα που εκτυπώνουν διαγνωστικά μηνύματα πριν από την αρχικοποίηση και διορθώστε τα μοιραία σφάλματα και τις υπερβάσεις χρόνου εκτέλεσης που μπορεί να προκαλέσει ο επιτιθέμενος.

Τι μπορεί και τι δεν μπορεί να κάνει εδώ το SilentShield

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

Το API και ο πίνακας ελέγχου του SilentShield δεν είναι γραμμένα σε PHP. Το πρόσθετο WordPress και το PHP SDK τρέχουν μέσα στη δική σας PHP, οπότε για αυτά η ενημέρωση πρέπει να γίνει στον δικό σας διακομιστή. Αφού ενημερώσετε, η συνήθης προστασία από ρομπότ και από ανεπιθύμητα μηνύματα φορμών είναι εξίσου χρήσιμη με πριν· απλώς δεν ήταν ποτέ η απάντηση σε αυτό το πρόβλημα.

Πηγές

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

Ποιες εκδόσεις της PHP επηρεάζονται από τα CVE-2026-109618 και CVE-2026-109619;

Η PHP 8.5 κάτω από την 8.5.12, η 8.4 κάτω από την 8.4.27, η 8.3 κάτω από την 8.3.36 και η 8.2 κάτω από την 8.2.35, καθώς και κάθε κλάδος στο τέλος της υποστήριξής του (8.1 και παλαιότεροι). Οι διορθώσεις δημοσιεύθηκαν στις 21 Οκτωβρίου 2026. Για τις 7.4, 8.0 και 8.1 η ομάδα ασφαλείας της PHP κυκλοφόρησε ελάχιστες μεταφορές διορθώσεων στον πηγαίο κώδικα. Το CERT-EU αναφέρει PHP-FPM, Apache με mod_php, php-cgi, FrankenPHP και LiteSpeed.

Προστατεύει ένα CAPTCHA, ένα πρόσθετο ασφαλείας του WordPress ή ένα τείχος προστασίας από αυτές τις ευπάθειες της PHP;

Όχι αξιόπιστα. Η επίθεση φτάνει στη μηχανή της PHP πριν εκτελεστεί κώδικας της εφαρμογής, επομένως ένα CAPTCHA ή ένα πρόσθετο μέσα στην εφαρμογή δεν βλέπει ποτέ το αίτημα. Το CERT-EU δηλώνει ότι μόνο μια ενημέρωση διορθώνει πλήρως τα σφάλματα· τα όρια στο μέγεθος του αιτήματος στον διακομιστή ιστού ή στον διαμεσολαβητή και οι ρυθμίσεις της PHP μειώνουν τον κίνδυνο αλλά δεν καθιστούν μια εγκατάσταση ασφαλή.

Γίνεται εκμετάλλευση των ευπαθειών της PHP CVE-2026-109618 και CVE-2026-109619;

Η συμβουλή του CERT-EU δεν επιβεβαιώνει επιθέσεις στην πράξη. Αναφέρει ότι οι τεχνικές λεπτομέρειες συζητούνται δημόσια και ότι έχει αρχίσει να κυκλοφορεί ο πρώτος κώδικας απόδειξης της ιδέας, κάτι που καθιστά πιθανότερο οι επιτιθέμενοι να εκμεταλλεύονται ήδη τα σφάλματα. Ενημερώστε το συντομότερο δυνατό.

Έτοιμοι να απαλλαγείτε από το CAPTCHA;

Ξεκινήστε να προστατεύετε τις φόρμες σας — αόρατα. Δεν χρειάζεται πιστωτική κάρτα.