Εν ολίγοις: Το PHP2Shell και το Log4Shell έχουν κοινό ότι είναι κρίσιμες ευπάθειες σε ένα πολύ διαδεδομένο θεμελιώδες στοιχείο, μέσω των οποίων οι επιτιθέμενοι μπορούν να εκτελέσουν κώδικα χωρίς σύνδεση. Διαφέρουν στην ορατότητα, στην κατάταξη και στην κατάσταση ως προς τις γνωστές επιθέσεις. Το σημαντικότερο δίδαγμα από το Log4Shell ισχύει σήμερα αμετάβλητο: όποιος γνωρίζει πού τρέχει το επηρεαζόμενο στοιχείο, ενεργεί σε ώρες αντί για εβδομάδες.
Γιατί η σύγκριση εμφανίζεται παντού ακριβώς τώρα
Τον Δεκέμβριο του 2021 το Log4Shell κράτησε τον κόσμο της πληροφορικής σε εγρήγορση για εβδομάδες. Η BSI κήρυξε τότε το υψηλότερο επίπεδο προειδοποίησης, κόκκινο. Σχεδόν πέντε χρόνια αργότερα το ίδιο όνομα εμφανίζεται για το PHP2Shell σε πολλά άρθρα, συχνά μαζί με την ερώτηση: «Θα γίνει πάλι τόσο άσχημα;»
Η σύγκριση είναι προφανής και είναι χρήσιμη όταν γίνεται σωστά. Δείχνει ποια μοτίβα επαναλαμβάνονται και ποιες εμπειρίες μπορούν να αξιοποιήσουν σήμερα άμεσα οι επιχειρήσεις. Πώς κατατάσσει η BSI την τρέχουσα κατάσταση, εξηγεί το άρθρο Επίπεδο προειδοποίησης BSI πορτοκαλί.
PHP2Shell και Log4Shell σε άμεση σύγκριση
| Χαρακτηριστικό | Log4Shell (2021) | PHP2Shell (2026) |
|---|---|---|
| Επηρεαζόμενο λογισμικό | βιβλιοθήκη Java Log4j | το ίδιο το περιβάλλον εκτέλεσης PHP |
| Αναγνωριστικό | CVE-2021-44228 | CVE-2026-109618, CVE-2026-109619 |
| Βαθμολόγηση | CVSS 10.0 (v3) | CVSS v4.0 9.2 |
| Επίδραση | εκτέλεση κώδικα χωρίς σύνδεση | εκτέλεση κώδικα χωρίς σύνδεση |
| Επίπεδο προειδοποίησης BSI | 4 / κόκκινο | 3 / πορτοκαλί |
| Κατάσταση κατά την προειδοποίηση | σύμφωνα με τα τότε δημοσιεύματα, γνωστές παραβιάσεις | αναφέρονται απόπειρες επίθεσης, σύμφωνα με τη BSI αρχικά καμία επιβεβαιωμένη επιτυχής επίθεση σε μεγάλη κλίμακα |
| Ορατότητα | συχνά βαθιά κρυμμένο σε εφαρμογές | ορατό στον διακομιστή, το επίπεδο patch όμως δύσκολα διαβάζεται λόγω backports |
| Επόμενες ανακοινώσεις | αρκετά ακόμη CVE μέσα σε λίγες εβδομάδες | υπόδειξη για την CVE-2026-115560 στις 23/10 |
Τι έχουν κοινό οι δύο ευπάθειες
Ένα θεμελιώδες στοιχείο, αναρίθμητες εφαρμογές. Το Log4j βρισκόταν σε λογισμικό Java κάθε είδους, η PHP στηρίζει το WordPress, το Shopware, το TYPO3 και αναρίθμητες προσαρμοσμένες εφαρμογές. Και στις δύο περιπτώσεις δεν επηρεάζεται ένα προϊόν, αλλά ένα θεμέλιο.
Δεν χρειάζεται σύνδεση. Και οι δύο ευπάθειες επιτρέπουν εκτέλεση κώδικα εξ αποστάσεως χωρίς σύνδεση. Αυτό τις κάνει ελκυστικές για αυτοματοποιημένες επιθέσεις.
Το patch δεν είναι το τέλος. Στο Log4Shell φάνηκε ότι πολλά συστήματα είχαν δεχθεί επίθεση πριν από την ενημέρωση. Και στο PHP2Shell ισχύει: ένα patch δεν αφαιρεί κακόβουλο λογισμικό που έχει ήδη εισαχθεί. Σύμφωνα με δημοσιεύματα, μια πρώτη απόπειρα επίθεσης παρατηρήθηκε ήδη στις 17 Οκτωβρίου.
Επόμενες ανακοινώσεις. Μετά το Log4Shell εμφανίστηκαν μέσα σε λίγες εβδομάδες και άλλα CVE για το Log4j. Στην PHP ήρθε δύο ημέρες μετά τα patches η υπόδειξη για την CVE-2026-115560. Γιατί είναι πιθανές και άλλες ανακοινώσεις, εξηγεί το άρθρο Μετά το PHP2Shell: γιατί είναι πιθανές και άλλες ανακοινώσεις.
Πού χωλαίνει η σύγκριση
Η μεγαλύτερη διαφορά βρίσκεται στην ορατότητα. Το Log4j ήταν συχνά ενσωματωμένο ως μέρος μιας εφαρμογής, κάποτε πολλαπλά φωλιασμένο. Πολλοί διαχειριστές απλώς δεν ήξεραν ότι το χρησιμοποιούσαν. Η PHP αντίθετα σε έναν διακομιστή ιστού δεν είναι μυστικό. Αντί γι' αυτό, στο PHP2Shell προκύπτει μια άλλη ασάφεια: οι διανομές και οι πάροχοι φιλοξενίας εγκαθιστούν διορθώσεις ως backport, ο εμφανιζόμενος αριθμός έκδοσης μένει ίδιος. Βλέπει κανείς την PHP, όχι όμως αμέσως αν έχει γίνει patch.
Μια δεύτερη διαφορά είναι η αφετηρία στην ενημέρωση. Στο Log4Shell έπρεπε συχνά πρώτα οι κατασκευαστές εξειδικευμένων εφαρμογών να παραδώσουν νέες εκδόσεις. Στο PHP2Shell υπάρχουν έτοιμες ενημερώσεις για όλους τους υποστηριζόμενους κλάδους. Δύσκολο γίνεται με την PHP 8.1 και παλαιότερες, για τις οποίες το έργο PHP δεν δημοσιεύει πλέον επίσημες ενημερώσεις.
Μια τρίτη διαφορά αφορά τον τόπο της επίθεσης. Στο Log4Shell μπορούσε να είναι επικίνδυνο κάθε σημείο όπου μια εφαρμογή κατέγραφε εισόδους, άρα και εσωτερικά συστήματα που λάμβαναν δεδομένα από το διαδίκτυο μόνο έμμεσα. Στο PHP2Shell στο επίκεντρο βρίσκεται ο διακομιστής ιστού που δέχεται απευθείας αιτήματα. Αυτό κάνει την αναζήτηση των επηρεαζόμενων συστημάτων κάπως πιο εύκολη: πρώτα έρχονται όλες οι δημόσια προσβάσιμες υπηρεσίες PHP, μετά οι εσωτερικές εφαρμογές.
Τέλος, διαφέρει η κατάσταση ως προς την εκμετάλλευση. Για το Log4Shell κυκλοφόρησαν νωρίς απλά εργαλεία επίθεσης και οι παραβιάσεις ήταν, σύμφωνα με τα τότε δημοσιεύματα, γνωστές ήδη κατά την προειδοποίηση. Στο PHP2Shell οι Cloudflare και Patchstack αναφέρουν απόπειρες επίθεσης, η watchTowr αναπαρήγαγε, σύμφωνα με δική της δήλωση, μία από τις ευπάθειες, επιβεβαιωμένες επιτυχείς επιθέσεις σε μεγάλη κλίμακα δεν ανέφερε αρχικά η BSI. Αυτό μπορεί να αλλάξει. Είναι όμως ένας λόγος για τον οποίο η σύγκριση δεν ενδείκνυται ως πρόγνωση.
Αξιοποιήστε τις εμπειρίες από το Log4Shell στην επιχείρησή σας: ποιες λίστες, διαδικασίες και επαφές βοήθησαν τότε; Πολλά από αυτά μπορούν να επαναχρησιμοποιηθούν απευθείας για το PHP2Shell.
Πέντε διδάγματα από το Log4Shell που βοηθούν σήμερα
- Απογραφή πριν από το patch: Όποιος είχε το 2021 μια τρέχουσα λίστα των συστημάτων του, ήταν ταχύτερος. Το ίδιο ισχύει και σήμερα. Οδηγό προσφέρει το άρθρο Απογραφή όλων των ιστότοπων και διακομιστών.
- Γνωρίστε τις εξαρτήσεις: Μια λίστα υλικών των στοιχείων λογισμικού, εν συντομία SBOM, απαντά το ερώτημα «Πού το χρησιμοποιούμε;» σε λεπτά. Για εφαρμογές PHP βοηθά η ματιά στο Composer, όπως την περιγράφει το άρθρο Έλεγχος εξαρτήσεων Composer.
- Φυλάξτε τα logs: Μετά το Log4Shell πολλές επιχειρήσεις δεν μπορούσαν πια να διευκρινίσουν αν επηρεάστηκαν, επειδή έλειπαν logs. Ο εξειδικευμένος Τύπος συνιστά στο PHP2Shell τη διάσωση των logs από τις 20 Οκτωβρίου.
- Έλεγχος εκ των υστέρων: Ένα patch δεν απαντά τι συνέβη πριν. Ένας έλεγχος για ίχνη ανήκει στη διαδικασία.
- Προετοιμασία για επόμενες ανακοινώσεις: Η πρώτη ενημέρωση σπάνια είναι η τελευταία. Όποιος έχει στήσει μία φορά σωστά τον δρόμο ενημέρωσης, τον επαναλαμβάνει γρήγορα.
Πώς βοηθά συγκεκριμένα η PHP SOS;
- Καταγραφή: Εντοπίζουμε πού τρέχει η PHP στην επιχείρησή σας, σε ποια έκδοση και τρόπο λειτουργίας.
- Patch και επανεκκίνηση: Εγκαθιστούμε ενημερώσεις και τεκμηριώνουμε την κατάσταση ανά σύστημα.
- Έλεγχος ιχνών: Διασώζουμε logs και ελέγχουμε για ανωμαλίες από τις 17 Οκτωβρίου.
- Μόνιμη παρακολούθηση: Έχουμε τα συστήματά σας υπό παρακολούθηση, ώστε οι επόμενες ανακοινώσεις να μην ξεκινούν πάλι από το μηδέν.
Πώς μοιάζει η συνεχής επιτήρηση, περιγράφει το Security monitoring για διακομιστές ιστού.
Συμπέρασμα
Το PHP2Shell δεν είναι Log4Shell, αλλά ομοιοκαταληκτεί. Και τα δύο χτυπούν ένα θεμέλιο, και τα δύο χρειάζονται περισσότερα από ένα patch. Οι επιχειρήσεις που κράτησαν από το 2021 απογραφή, διατήρηση logs και δρόμους ενημέρωσης, έχουν σήμερα πλεονέκτημα. Για όλους τους άλλους είναι τώρα η στιγμή να τα αναπληρώσουν.
Συχνές ερωτήσεις
Είναι το PHP2Shell τόσο σοβαρό όσο το Log4Shell;
Και τα δύο είναι κρίσιμες ευπάθειες σε πολύ διαδεδομένο λογισμικό, μέσω των οποίων οι επιτιθέμενοι μπορούν να εκτελέσουν κώδικα χωρίς σύνδεση. Η BSI (Ομοσπονδιακή Υπηρεσία Ασφάλειας Πληροφορικής της Γερμανίας) κατέταξε το Log4Shell το 2021 σε κόκκινο, το PHP2Shell σε πορτοκαλί. Μια σημαντική διαφορά: στο Log4Shell ήταν, σύμφωνα με τα τότε δημοσιεύματα, ήδη γνωστές παραβιάσεις κατά την προειδοποίηση, ενώ στο PHP2Shell, σύμφωνα με τη BSI, αρχικά δεν υπήρχαν επιβεβαιωμένες επιτυχείς επιθέσεις σε μεγάλη κλίμακα.
Τι ήταν το Log4Shell;
Το Log4Shell ήταν μια κρίσιμη ευπάθεια στη βιβλιοθήκη Java Log4j, που έγινε γνωστή τον Δεκέμβριο του 2021 και καταγράφεται ως CVE-2021-44228. Το Log4j βρισκόταν ως δομικό στοιχείο σε πάρα πολλές εφαρμογές, συχνά χωρίς να το γνωρίζουν οι διαχειριστές.
Θα ακολουθήσουν και άλλες ευπάθειες μετά το PHP2Shell;
Είναι πιθανό. Μετά το Log4Shell ακολούθησαν μέσα σε λίγες εβδομάδες και άλλα CVE για το Log4j. Στην PHP υπήρξε ήδη στις 23 Οκτωβρίου μια υπόδειξη για την CVE-2026-115560, που ισχύει μόνο σε ασυνήθιστη διαμόρφωση. Υπολογίστε και επόμενες ανακοινώσεις.
Τι είναι ένα SBOM;
Ένα Software Bill of Materials είναι μια λίστα υλικών όλων των στοιχείων λογισμικού από τα οποία αποτελείται μια εφαρμογή. Με αυτήν μπορεί, όταν εμφανιστεί νέα ευπάθεια, να διαπιστωθεί γρήγορα πού χρησιμοποιείται το επηρεαζόμενο στοιχείο.