Εν συντομία: Ένα μεγάλο μέρος των διαδεδομένων συστημάτων διαχείρισης περιεχομένου (CMS) και συστημάτων e-shop είναι γραμμένο σε PHP, μεταξύ αυτών το WordPress με το WooCommerce, το TYPO3, το Joomla, το Drupal, το Contao, το Shopware, το Magento αντίστοιχα το Adobe Commerce και το PrestaShop. Προστίθενται εσωτερικές εφαρμογές όπως το Nextcloud, το Moodle, το MediaWiki και το Matomo. Όποιος λειτουργεί ένα από αυτά τα συστήματα, επηρεάζεται από ευπάθειες στον διερμηνέα PHP όπως το PHP2Shell, όσο ενημερωμένο κι αν είναι το ίδιο το CMS.
Γιατί τόσοι πολλοί ιστότοποι εκτελούνται σε PHP
Η PHP είναι προσαρμοσμένη στους διακομιστές ιστού από τη δεκαετία του 1990 και διατίθεται σχεδόν σε κάθε πάροχο φιλοξενίας. Ένα CMS με βάση την PHP μπορεί γι' αυτό να λειτουργεί χωρίς δική του υποδομή διακομιστών, κάτι που ήταν και είναι ελκυστικό ιδίως για μικρές και μεσαίες επιχειρήσεις, συλλόγους και υπηρεσίες.
Για τους διαχειριστές αυτό σημαίνει: ο ιστότοπος δεν είναι απλώς «WordPress» ή «Shopware», αλλά μια στοίβα από πολλά επίπεδα. Κάτω εκτελείται το λειτουργικό σύστημα, από πάνω ο διακομιστής ιστού, έπειτα ο διερμηνέας PHP και στην κορυφή το CMS με επεκτάσεις. Κάθε επίπεδο χρειάζεται δικές του ενημερώσεις. Μια ευπάθεια στην PHP πλήττει όλα τα συστήματα που στηρίζονται πάνω της.
Προστίθενται οι επεκτάσεις: plugins, themes, μονάδες και διεπαφές e-shop είναι επίσης κώδικας PHP, συχνά από μικρούς παρόχους. Εκτελούνται με τα ίδια δικαιώματα με το CMS και εκτελούνται από το ίδιο περιβάλλον εκτέλεσης PHP. Ένα CMS με πολλές επεκτάσεις έχει γι' αυτό μεγαλύτερη επιφάνεια επίθεσης από μια λιτή εγκατάσταση, ακόμη κι αν ο πυρήνας είναι ενημερωμένος.
Αριθμούς για τη διάδοση επιμέρους συστημάτων παραλείπουμε εδώ. Δεν υπάρχει γι' αυτούς πηγή που να θεωρούμε αξιόπιστη και συγκρίσιμη.
Διαδεδομένα CMS και συστήματα e-shop με βάση την PHP
Ο πίνακας αναφέρει γνωστά συστήματα και όσα λένε οι ίδιοι οι κατασκευαστές για την τεχνική τους βάση. Απαιτήσεις έκδοσης δεν αναφέρουμε σκόπιμα, επειδή αλλάζουν με κάθε έκδοση.
| Σύστημα | Είδος | Υπόδειξη για την τεχνική βάση |
|---|---|---|
| WordPress, WooCommerce | CMS, επέκταση e-shop | εφαρμογή PHP, MySQL ή MariaDB σύμφωνα με τις απαιτήσεις |
| TYPO3 | CMS | χρειάζεται σύμφωνα με την τεκμηρίωση διακομιστή ιστού, PHP και βάση δεδομένων SQL |
| Joomla | CMS | PHP με MySQL, MariaDB ή PostgreSQL |
| Drupal | CMS | PHP· επεκτάσεις του πυρήνα στο core/composer.json |
| Contao | CMS | σύμφωνα με τον κατασκευαστή πάνω στο πλήρες framework Symfony |
| Craft CMS | CMS | ο κατασκευαστής αναφέρει το Yii μεταξύ των εργαλείων που χρησιμοποιεί |
| Shopware 6 | e-shop | η τεκμηρίωση προγραμματιστών αντιμετωπίζει τα plugins ως bundles του Symfony |
| Magento Open Source, Adobe Commerce | e-shop | PHP και Composer στις απαιτήσεις συστήματος |
| PrestaShop | e-shop | PHP με δικό του πίνακα συμβατότητας |
| Nextcloud | αποθήκευση αρχείων | Apache με mod_php ή PHP-FPM, Nginx με PHP-FPM |
| Moodle | πλατφόρμα μάθησης | σύμφωνα με την τεκμηρίωση αναπτυγμένο σε PHP |
| MediaWiki, Matomo | wiki, στατιστικά | PHP σύμφωνα με τις απαιτήσεις εγκατάστασης |
Πολλά από αυτά τα συστήματα χρησιμοποιούν εσωτερικά δομικά στοιχεία από frameworks PHP και φορτώνουν βιβλιοθήκες μέσω Composer. Για τα περισσότερα έχουμε ξεχωριστές σελίδες με υποδείξεις θωράκισης, για παράδειγμα WordPress, Shopware 6 και TYPO3.
Πώς μαθαίνω αν ο ιστότοπός μου εκτελείται σε PHP;
Πολλές επιχειρήσεις δεν γνωρίζουν ακριβώς ποια συστήματα εκτελούνται σε αυτές, ιδίως όταν τον ιστότοπο έχει χτίσει μια εταιρεία ανάπτυξης. Αυτά τα βήματα φέρνουν σαφήνεια:
- Δημιουργία ευρετηρίου: Απαριθμήστε όλα τα domains, subdomains και εσωτερικές διεπαφές ιστού, ακόμη και συστήματα δοκιμών και παλιές σελίδες καμπανιών.
- Ρωτήστε τον πάροχο ή την εταιρεία ανάπτυξης: Ποιο σύστημα, ποια έκδοση PHP, ποιος τρόπος λειτουργίας (PHP-FPM, mod_php, LiteSpeed); Ζητήστε γραπτή απάντηση.
- Δείτε το πάνελ φιλοξενίας: Στο Plesk, στο cPanel και σε παρόμοιες διεπαφές αναγράφεται η έκδοση PHP ανά ιστότοπο. Λάβετε υπόψη ότι τα backports της διανομής δεν αλλάζουν τον εμφανιζόμενο αριθμό.
- Έλεγχος στον διακομιστή: Οι διαχειριστές βλέπουν από τις διεργασίες και από τη διαμόρφωση του διακομιστή ιστού ποιο περιβάλλον εκτέλεσης PHP παραδίδει πράγματι.
- Μην ξεχάσετε τις συσκευές: Συστήματα NAS, δρομολογητές και appliances έχουν συχνά μια διεπαφή ιστού, που μπορεί επίσης να εκτελείται σε PHP.
# Στον διακομιστή: ποιες διεργασίες PHP εκτελούνται;
ps -eo user,cmd | grep -E 'php-fpm|lsphp|php-cgi|frankenphp' | grep -v grep
Λάβετε σοβαρά υπόψη τις απαιτήσεις συστήματος
Κάθε κατασκευαστής δημοσιεύει με ποιες εκδόσεις PHP έχει δοκιμαστεί το λογισμικό του. Αυτά τα στοιχεία αποτελούν τη βάση κάθε σχεδιασμού ενημερώσεων: μια ενημέρωση της PHP σε έκδοση που το CMS δεν υποστηρίζει ακόμη, μπορεί να παραλύσει τον ιστότοπο. Ένα CMS που εκτελείται μόνο με έκδοση PHP χωρίς ενημερώσεις ασφαλείας αποτελεί μόνιμο κίνδυνο.
Ελέγξτε γι' αυτό σύμφωνα με τις απαιτήσεις συστήματος του κατασκευαστή για την ακριβή έκδοσή σας ποιες εκδόσεις PHP εξετάζονται και συγκρίνετέ το με τις διορθωμένες εκδόσεις PHP. Για συστήματα που εκτελούνται μόνο με PHP 8.1 ή παλαιότερη, δεν υπάρχουν πλέον επίσημες ενημερώσεις από το έργο PHP.
Τι σημαίνει το PHP2Shell για τους διαχειριστές CMS και e-shop
Το PHP2Shell αποτελείται από τις ευπάθειες CVE-2026-109618 και CVE-2026-109619 στον διερμηνέα PHP, αμφότερες με CVSS 9,2. Επιτρέπουν την εκτέλεση κακόβουλου κώδικα χωρίς σύνδεση χρήστη. Έχουν διορθωθεί στις PHP 8.5.12, 8.4.27, 8.3.36 και 8.2.35. Μια ενημέρωση του CMS δεν κλείνει αυτές τις ευπάθειες· γιατί, εξηγεί το άρθρο μας Γιατί μια ενημέρωση του WordPress δεν βοηθά κατά του PHP2Shell.
Για τα e-shop το βάρος είναι ιδιαίτερα μεγάλο, επειδή εκεί βρίσκονται δεδομένα πελατών, παραγγελίες και στοιχεία πρόσβασης σε υπηρεσίες πληρωμών και αποστολών. Ένα patch δεν αφαιρεί επιπλέον κακόβουλο λογισμικό που εισήχθη προηγουμένως και δεν αποδεικνύει ότι δεν συνέβη τίποτα.
Πώς βοηθά συγκεκριμένα η PHP SOS;
- Δημιουργούμε ένα ευρετήριο των ιστοτόπων και εσωτερικών εφαρμογών σας που βασίζονται σε PHP, με σύστημα, έκδοση PHP και τρόπο λειτουργίας.
- Συγκρίνουμε τις απαιτήσεις των κατασκευαστών με τις διορθωμένες εκδόσεις PHP και σχεδιάζουμε την ενημέρωση ανά σύστημα.
- Εφαρμόζουμε τις ενημερώσεις PHP, επανεκκινούμε όλες τις διεργασίες και ελέγχουμε κατόπιν αν το CMS και το e-shop λειτουργούν σωστά.
- Σε περίπτωση υποψίας περιστατικού διερευνούμε το σύστημα στο πλαίσιο της άμεσης βοήθειας PHP2Shell.
Συχνές ερωτήσεις
Εκτελείται το WordPress σε PHP;
Ναι. Το WordPress είναι εφαρμογή PHP και χρειάζεται σύμφωνα με τις επίσημες απαιτήσεις PHP καθώς και βάση δεδομένων MySQL ή MariaDB. Έτσι οι ευπάθειες στον διερμηνέα PHP αφορούν κάθε εγκατάσταση WordPress, ανεξάρτητα από την κατάσταση του ίδιου του WordPress.
Βοηθά μια ενημέρωση του CMS κατά του PHP2Shell;
Όχι. Η ευπάθεια βρίσκεται στην PHP, όχι στο CMS. Σύμφωνα με το drweb.de, το WordPress.org δεν σχεδιάζει γι' αυτό δική του ενημέρωση. Κλείνει μόνο με διορθωμένη έκδοση PHP και επανεκκίνηση όλων των διεργασιών PHP.
Πώς μαθαίνω ποια έκδοση PHP χρειάζεται το e-shop μου;
Από τις απαιτήσεις συστήματος του κατασκευαστή για τη συγκεκριμένη έκδοσή σας. Αυτά τα στοιχεία αλλάζουν με κάθε μεγαλύτερη έκδοση, γι' αυτό πρέπει να τα διαβάζετε απευθείας από τον κατασκευαστή και να μην τα υιοθετείτε από παλαιότερους οδηγούς.
Επηρεάζονται και οι εσωτερικές εφαρμογές;
Ναι, αν εκτελούνται σε PHP. Αποθηκευτικοί χώροι αρχείων όπως το Nextcloud, πλατφόρμες μάθησης όπως το Moodle, εσωτερικά wikis με MediaWiki ή το Matomo για στατιστικά είναι εφαρμογές PHP. Στις καταγραφές του υπάρχοντος ξεχνιούνται συχνά.
Αν η διεύθυνση δεν έχει .php, δεν είναι PHP ο ιστότοπος;
Όχι απαραίτητα. Τα σύγχρονα συστήματα δρομολογούν όλες τις διευθύνσεις μέσω ενός κεντρικού index.php, ώστε στο URL να μην εμφανίζεται ποτέ το .php. Βέβαιο είναι μόνο ένα βλέμμα στον διακομιστή ή μια ενημέρωση από τον πάροχο ή την εταιρεία ανάπτυξης.