Εν ολίγοις: Το αποθετήριο Remi PHP παρέχει τρέχουσες εκδόσεις PHP για το Fedora και την οικογένεια RHEL, είτε ως module stream που αντικαθιστά την PHP του συστήματος, είτε ως Software Collection που εγκαθιστά πολλές εκδόσεις παράλληλα. Οι διορθώσεις PHP2Shell 8.2.35, 8.3.36, 8.4.27 και 8.5.12 ανακοινώθηκαν εκεί στις 22 Οκτωβρίου 2026. Ελέγξτε κάθε εγκατεστημένη έκδοση χωριστά και επανεκκινήστε κάθε σχετική υπηρεσία.
Γιατί τόσοι διακομιστές RHEL λαμβάνουν PHP από το Remi
Οι επιχειρησιακές διανομές όπως RHEL, AlmaLinux και Rocky Linux στηρίζονται στη μακρόχρονη σταθερότητα. Παραδίδουν λίγους κλάδους PHP και τους διατηρούν για χρόνια. Πολλές εφαρμογές απαιτούν όμως νεότερες εκδόσεις από όσες προσφέρει η διανομή. Εδώ παρεμβαίνει το αποθετήριο του Remi Collet, ενός μακροχρόνιου συντηρητή πακέτων PHP στο περιβάλλον Fedora και RHEL.
Το Remi χτίζει τις εκδόσεις PHP σε σύντομο χρόνο μετά τις επίσημες κυκλοφορίες. Για το PHP2Shell εμφανίστηκε στο blog του αποθετηρίου στις 22 Οκτωβρίου 2026 μια ανάρτηση για τις εκδόσεις 8.2.35, 8.3.36, 8.4.27 και 8.5.12. Σε αυτήν αναφέρονται οι δύο κρίσιμες ευπάθειες CVE-2026-109618 και CVE-2026-109619 και η ενημέρωση συνιστάται επιτακτικά. Οι ανακοινώσεις ασφαλείας της Red Hat δεν ισχύουν για αυτά τα πακέτα· τι ανακοινώνει η Red Hat για τα δικά της πακέτα, αναφέρεται στο άρθρο RHEL, AlmaLinux και Rocky Linux: έλεγχος του patch PHP.
Δύο δρόμοι: module stream ή Software Collection
Σύμφωνα με το blog του Remi, τα builds για Enterprise Linux από την έκδοση 8 και μετά διατίθενται με δύο τρόπους. Ποιος χρησιμοποιείται στον διακομιστή σας, καθορίζει πώς ελέγχετε και επανεκκινείτε.
| Δρόμος | Αποθετήριο | Επίδραση | Τυπική υπηρεσία |
|---|---|---|---|
Module stream, για παράδειγμα php:remi-8.3 |
remi-modular | αντικαθιστά την PHP του συστήματος, μία προεπιλεγμένη έκδοση | php-fpm |
Software Collection, για παράδειγμα php83 |
remi-safe | επιπλέον έκδοση παράλληλα σε δική της διαδρομή | δική της υπηρεσία ανά έκδοση, για παράδειγμα php83-php-fpm |
| Δοκιμαστικά πακέτα και release candidates | remi-modular-test, remi-test | προδημοσιεύσεις | όχι για παραγωγή |
Οι Software Collections βρίσκονται τυπικά στο /opt/remi/phpXY, η διαμόρφωσή τους στο /etc/opt/remi/phpXY. Αυτό είναι πρακτικό για να λειτουργούν παλιές και νέες εφαρμογές σε έναν διακομιστή. Είναι όμως και ο συχνότερος λόγος για τον οποίο μια έκδοση παραβλέπεται στην ενημέρωση.
Μια υπόδειξη για τη γραμμή εντολών: οι Software Collections δεν είναι αυτόματα διαθέσιμες με την εντολή php. Ανάλογα με τη ρύθμιση, τα cronjobs και τα scripts τις καλούν με δική τους εντολή ή με πλήρη διαδρομή. Ελέγξτε γι' αυτό και τα crontabs και τα scripts ανάπτυξης, αν θέλετε να μάθετε ποια collection χρησιμοποιείται για τι.
Έλεγχος του αποθετηρίου Remi PHP μετά το PHP2Shell
Οι παρακάτω εντολές είναι αμιγώς ανάγνωσης και δείχνουν ποια πακέτα Remi είναι εγκατεστημένα και σε ποιο επίπεδο.
# Ενεργές πηγές πακέτων: Είναι ενταγμένο το remi-modular ή το remi-safe;
dnf repolist
# Ενεργό module stream για την PHP
dnf module list --enabled php
# Βασικά πακέτα και παράλληλα εγκατεστημένες Software Collections
rpm -qa 'php-*' 'php[0-9][0-9]-php-*' --qf '%{NAME}-%{VERSION}-%{RELEASE}\n' | sort
# Έκδοση κάθε εγκατεστημένης collection
for b in /opt/remi/php*/root/usr/bin/php; do echo "$b"; "$b" -v | head -1; done
Στους υποστηριζόμενους κλάδους η κατάσταση είναι σαφής: αν εκεί αναγράφεται 8.5.12, 8.4.27, 8.3.36 ή 8.2.35 ή νεότερη, η διόρθωση περιλαμβάνεται. Στο Remi ο αριθμός έκδοσης αντιστοιχεί κατά κανόνα στην έκδοση upstream, σε αντίθεση με τα πακέτα των διανομών που διατηρούν συχνά τον παλιό τους αριθμό.
Για παλαιότερες collections όπως php81, php80 ή php74 δεν υπάρχει επίσημη έκδοση-στόχος. Το Remi χαρακτηρίζει την PHP 8.1 ως End-of-Life. Το αν ένα εγκατεστημένο πακέτο περιέχει διόρθωση για το PHP2Shell, το διευκρινίζετε στο changelog, για παράδειγμα με rpm -q --changelog php81-php-fpm | grep -E "CVE-2026-10961[89]". Χωρίς αποτέλεσμα αντιμετωπίστε το πακέτο ως ανεπίλυτο. Πώς τεκμηριώνετε καθαρά τέτοια ευρήματα, περιγράφει το άρθρο Απόδειξη των αριθμών CVE στο changelog του πακέτου.
Μην ενεργοποιείτε μόνιμα αποθετήρια δοκιμών όπως remi-test ή remi-modular-test σε διακομιστές παραγωγής. Παρέχουν release candidates που προορίζονται για δοκιμές.
Ενημέρωση και επανεκκίνηση κάθε έκδοσης
Η ίδια η ενημέρωση είναι στο Remi συνήθως ανώδυνη: το dnf upgrade φέρνει νέα πακέτα για stream και collections. Το κρίσιμο μέρος ακολουθεί μετά. Κάθε collection έχει δική της υπηρεσία FPM και καθεμία πρέπει να επανεκκινηθεί.
# Καταγραφή όλων των υπηρεσιών PHP-FPM, και αυτών των collections
systemctl list-units --type=service --all | grep -E "php.*fpm"
# Έλεγχος των χρόνων εκκίνησης όλων των διεργασιών PHP
ps -eo pid,lstart,cmd | grep -E "[p]hp-fpm|[h]ttpd"
Χρόνοι εκκίνησης πριν από την ενημέρωση σημαίνουν: αυτή η υπηρεσία εργάζεται ακόμη με παλιό κώδικα. Γιατί δεν αρκεί η επαναφόρτωση, εξηγεί η σελίδα Επανεκκίνηση του PHP-FPM και όλων των workers.
Remi και διανομή: ποιος είναι αρμόδιος;
Όποιος αλλάζει με module stream σε Remi, αλλάζει για την PHP τον προμηθευτή. Οι ανακοινώσεις ασφαλείας της Red Hat, του AlmaLinux ή του Rocky Linux δεν αναφέρονται τότε πλέον στα εγκατεστημένα πακέτα PHP. Αντίστροφα, το Remi δεν αναφέρει προβλήματα σε άλλα πακέτα του συστήματος. Και τις δύο πηγές πρέπει επομένως να τις έχετε υπό παρακολούθηση.
Από πού προέρχεται ένα εγκατεστημένο πακέτο, δείχνει η βάση δεδομένων πακέτων, για παράδειγμα με rpm -qi php-fpm στα πεδία για τον κατασκευαστή και τον πακεταριστή. Επειδή για πακέτα Remi δεν υπάρχουν errata με την έννοια της Red Hat, το blog του αποθετηρίου ενδείκνυται ως δρόμος ειδοποίησης· μπορεί να γίνει συνδρομή μέσω RSS feed. Στο PHP2Shell η υπόδειξη εμφανίστηκε εκεί μία ημέρα μετά τις επίσημες εκδόσεις.
Για τις επιχειρήσεις αυτός ο καταμερισμός δεν είναι εμπόδιο, πρέπει όμως να τεκμηριώνεται. Καταγράψτε ποιοι διακομιστές λαμβάνουν PHP από το Remi, ποιος διαβάζει τις ανακοινώσεις και ποιος επανεκκινεί τις υπηρεσίες μετά από μια ενημέρωση. Διαφορετικά ο καθένας βασίζεται στον άλλον.
Κρατήστε τάξη: λιγότερες εκδόσεις, λιγότερος κίνδυνος
Οι Software Collections προκαλούν να αφήνονται απλώς οι παλιές εκδόσεις. Μετά το PHP2Shell είναι καλή στιγμή για τακτοποίηση:
- Για κάθε collection διευκρινίστε ποιος ιστότοπος ή cronjob τη χρησιμοποιεί.
- Απενεργοποιήστε τις collections που δεν χρησιμοποιούνται και αφαιρέστε τις μετά από περίοδο παρατήρησης.
- Μεταφέρετε εφαρμογές σε παλιές collections σε υποστηριζόμενο κλάδο.
- Τεκμηριώστε τις εκδόσεις που απομένουν με σκοπό και υπεύθυνο.
Πώς διατηρείτε την επισκόπηση πολλών παράλληλων εκδόσεων, περιγράφει το άρθρο Πολλές εκδόσεις PHP σε έναν διακομιστή.
Πώς βοηθά συγκεκριμένα η PHP SOS;
- Καταγράφουμε όλα τα streams και τις collections Remi στους διακομιστές σας και τα αντιστοιχίζουμε σε ιστότοπους και cronjobs.
- Ελέγχουμε την κατάσταση PHP2Shell ανά έκδοση μέσω έκδοσης πακέτου και changelog.
- Εγκαθιστούμε ενημερώσεις, επανεκκινούμε κάθε υπηρεσία και το τεκμηριώνουμε με χρόνους εκκίνησης διεργασιών στο πλαίσιο της υπηρεσίας patch PHP.
- Τις collections που δεν χρειάζονται πλέον τις αφαιρούμε ελεγχόμενα, κατόπιν συνεννόησης.
Συχνές ερωτήσεις
Παρείχε το Remi τις εκδόσεις PHP2Shell;
Ναι. Στο blog του αποθετηρίου ανακοινώθηκαν στις 22 Οκτωβρίου 2026 οι εκδόσεις 8.2.35, 8.3.36, 8.4.27 και 8.5.12, με υπόδειξη για δύο κρίσιμες ευπάθειες, τις CVE-2026-109618 και CVE-2026-109619, και επιτακτική σύσταση για ενημέρωση.
Ποια είναι η διαφορά μεταξύ module stream και SCL στο Remi;
Μέσω ενός module stream αντικαθιστάτε την PHP του συστήματος με μια έκδοση Remi, υπάρχει τότε μία έκδοση PHP ως προεπιλογή. Οι Software Collections εγκαθιστούν επιπλέον εκδόσεις παράλληλα σε δικές τους διαδρομές, καθεμία με δική της υπηρεσία.
Λαμβάνει ακόμη ενημερώσεις η PHP 8.1 από το Remi;
Το Remi χαρακτηρίζει την PHP 8.1 ως End-of-Life, το έργο PHP δεν συντηρεί πλέον τον κλάδο. Το αν ένα συγκεκριμένο πακέτο 8.1 περιέχει διόρθωση για το PHP2Shell, το ελέγχετε στο changelog του εγκατεστημένου πακέτου. Χωρίς εγγραφή η κατάσταση θεωρείται ανεπίλυτη.
Πρέπει να επανεκκινώ κάθε έκδοση PHP μετά από ενημέρωση Remi;
Ναι. Κάθε παράλληλα εγκατεστημένη έκδοση έχει δική της υπηρεσία FPM. Αν επανεκκινηθεί μόνο η υπηρεσία της κύριας έκδοσης, οι άλλες συνεχίζουν να τρέχουν με παλιό κώδικα.