Αν λάβατε ένα email από εμένα που σας παραπέμπει σε αυτή τη σελίδα, αυτό συμβαίνει επειδή ο ιστότοπός σας φαίνεται να εκτελεί μια έκδοση του iCagenda (το com_icagenda της JoomliC, μια επέκταση ημερολογίου εκδηλώσεων για το σύστημα διαχείρισης περιεχομένου Joomla) που επηρεάζεται από ένα γνωστό ζήτημα ασφαλείας. Αυτή η σελίδα εξηγεί ποιο είναι το ζήτημα, πώς να ελέγξετε αν ισχύει για εσάς, και πώς να το διορθώσετε.

Αυτή η ειδοποίηση αφορά την CVE-2026-48939, ένα κρίσιμο, ενεργά αξιοποιούμενο σφάλμα που επιτρέπει μη εξουσιοδοτημένη αυθαίρετη μεταφόρτωση αρχείου που οδηγεί σε απομακρυσμένη εκτέλεση κώδικα μέσω της front-end φόρμας «Submit an Event» της επέκτασης. Προστέθηκε στον κατάλογο Known Exploited Vulnerabilities της Υπηρεσίας Κυβερνοασφάλειας και Ασφάλειας Υποδομών των ΗΠΑ (CISA) στις 10 Ιουλίου 2026.

Δύο προϋποθέσεις, και πρέπει να ισχύουν και οι δύο

Ο ιστότοπός σας επηρεάζεται από το ζήτημα απομακρυσμένης εκτέλεσης κώδικα όταν ισχύουν και οι δύο από τα εξής:

  1. Το iCagenda βρίσκεται στη σειρά 4.0.x, σε έκδοση κάτω από την 4.0.8 (δηλαδή 4.0.0 έως 4.0.7), και
  2. Ο πυρήνας Joomla είναι κάτω από την 6.1.2.

Αν το iCagenda είναι 4.0.8 ή νεότερο, δεν επηρεάζεστε. Και αν ο πυρήνας Joomla σας είναι 6.1.2 ή νεότερος, δεν επηρεάζεστε ούτε τότε, ακόμη και με ένα παλιό iCagenda, επειδή ο ίδιος ο πυρήνας εμποδίζει τη μεταφόρτωση. Αν αυτό περιγράφει τον ιστότοπό σας, μπορείτε να σταματήσετε να διαβάζετε εδώ, με μόνη εξαίρεση τη σημείωση ότι η ενημέρωση του iCagenda εξακολουθεί να αξίζει τον κόπο.

Η δεύτερη προϋπόθεση είναι το σημείο όπου αυτή η σελίδα διαφωνεί με την ίδια τη συμβουλευτική ανακοίνωση του κατασκευαστή, η οποία λέει ότι το πρόβλημα φτάνει μόνο σε ιστότοπους που εκτελούν Joomla 6. Φτάνει επίσης σε πλήρως ενημερωμένους ιστότοπους Joomla 4 και Joomla 5, και παραθέτω τα στοιχεία για αυτό παρακάτω, επειδή θα δείτε τον κατασκευαστή να λέει το αντίθετο αν ακολουθήσετε τον σύνδεσμο.

Αν χρησιμοποιείτε μια επηρεαζόμενη έκδοση, ενημερώστε το iCagenda, και επειδή αυτό το σφάλμα αξιοποιήθηκε πριν υπάρξει διόρθωση, ελέγξτε επίσης τον ιστότοπό σας για ενδείξεις ότι κάποιος έφτασε εκεί πρώτος (δείτε Αν είχατε μια επηρεαζόμενη έκδοση παρακάτω).

Μια σημείωση για όσους βρίσκονται στην παλαιότερη σειρά 3.9.x. Το δημοσιευμένο εύρος CVE περιλαμβάνει και τη σειρά 3.9.x, και ο κατασκευαστής διόρθωσε και αυτή τη σειρά, στην 3.9.15. Από τη δική μου ανάγνωση και δοκιμές, η σειρά 3.9.x χρησιμοποιεί ένα διαφορετικό, προστατευμένο μονοπάτι κώδικα για τη μεταφόρτωση, οπότε το αποτέλεσμα της απομακρυσμένης εκτέλεσης κώδικα δεν είναι προσβάσιμο εκεί: στη Joomla 4 και 5 η μεταφόρτωση εμποδίζεται από τον πυρήνα, και στη Joomla 6 αυτό το μονοπάτι κώδικα δεν υπάρχει καν πια, οπότε η λειτουργία απλώς επιστρέφει σφάλμα. Αυτό δεν είναι λόγος να αγνοήσετε την ενημέρωση. Οι ίδιες κυκλοφορίες διορθώνουν έναν έλεγχο εξουσιοδότησης που έλειπε, ο οποίος επιτρέπει σε έναν ανώνυμο επισκέπτη να προωθήσει μια μη εγκεκριμένη εκδήλωση στον ιστότοπό σας (και, στη Joomla 4 και 5, μαζί με αυτήν ένα αρχείο επιτρεπόμενου τύπου). Χαμηλότερη σοβαρότητα, αλλά αξίζει ακόμη να διορθωθεί: ενημερώστε στην 3.9.15 ή νεότερη. Σημειώστε επίσης ότι ο κατασκευαστής παρέχει διορθώσεις ασφαλείας για τη σειρά 3.9.x μόνο έως τις 13 Οκτωβρίου 2026.

Είναι γνήσιο αυτό το μήνυμα;

Ναι. Πρόκειται για καλόπιστη ειδοποίηση υπεύθυνης δημοσιοποίησης από ανεξάρτητο ερευνητή ασφαλείας. Δεν σας ζητώ χρήματα, κωδικούς ή πρόσβαση στον ιστότοπό σας, και δεν επιχείρησα να εισβάλω σε αυτόν, να μεταφορτώσω οτιδήποτε, ή να εκμεταλλευτώ οτιδήποτε.

Αυτό που διάβασα ήταν δύο δημόσια αρχεία που ο ιστότοπός σας παρέχει σε όποιον τα ζητήσει: το manifest του component iCagenda στο /administrator/components/com_icagenda/icagenda.xml, και το manifest του πυρήνα Joomla στο /administrator/manifests/files/joomla.xml. Και τα δύο είναι απλά αρχεία έκδοσης XML, και είναι τα ίδια δύο αρχεία που περιγράφονται στην ενότητα Πώς να ελέγξετε τις εκδόσεις σας παρακάτω, ώστε να μπορείτε να δείτε ακριβώς τι είδα. Αυτό είναι όλο. Συγκεκριμένα δεν υπέβαλα τη φόρμα εκδήλωσής σας, δεν μεταφόρτωσα τίποτα, και δεν ζήτησα τον κατάλογο συνημμένων στον ιστότοπό σας. Αυτή η διαδρομή εμφανίζεται παρακάτω σε αυτή τη σελίδα μόνο ως ένα σημείο όπου εσείς μπορείτε να κοιτάξετε στον δικό σας ιστότοπο. Τίποτα σε αυτόν τον έλεγχο δεν αγγίζει τα δεδομένα σας, την περιοχή διαχείρισής σας ή οποιοδήποτε ιδιωτικό τμήμα του ιστότοπού σας.

Αν θέλετε να επαληθεύσετε ποιος είμαι, δείτε τα στοιχεία επικοινωνίας στο τέλος αυτής της σελίδας και τη σελίδα Σχετικά.

Γιατί έχει σημασία

Το iCagenda δημοσιεύει ένα ημερολόγιο εκδηλώσεων σε ιστότοπους Joomla. Ένα από τα χαρακτηριστικά του επιτρέπει σε έναν επισκέπτη να υποβάλει μια εκδήλωση μέσω μιας front-end φόρμας, προαιρετικά επισυνάπτοντας ένα αρχείο, το οποίο καταλήγει στο images/icagenda/frontend/attachments/.

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

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

Αυτός δεν είναι θεωρητικός κίνδυνος. Βαθμολογείται με 9.8 στα 10 από το NVD (και 10.0 από την αρχή ανάθεσης βάσει του νεότερου συστήματος βαθμολόγησης), και αξιοποιείται ενεργά στην πράξη. Ο κατασκευαστής αναφέρει ότι η εκμετάλλευση ξεκίνησε στις 15 Ιουνίου 2026 στις 08:00 UTC, πριν υπάρξει η διόρθωση, και περιγράφει τις επιθέσεις ως αυτοματοποιημένες. Η CISA το πρόσθεσε στον κατάλογο Known Exploited Vulnerabilities στις 10 Ιουλίου 2026.

Περιγράφω αυτό στο επίπεδο που χρειάζεται ένας ιδιοκτήτης ιστότοπου για να δράσει, και όχι περισσότερο. Δεν δημοσιεύω τις λεπτομέρειες που θα επέτρεπαν σε κάποιον να το αναπαραγάγει, και θα σας παρακαλούσα να μην το δοκιμάσετε στον δικό σας ιστότοπο ή σε οποιονδήποτε άλλον. Η ανάγνωση των δύο αριθμών έκδοσής σας, όπως περιγράφεται παρακάτω, σας λέει όλα όσα χρειάζεστε για να αποφασίσετε τι θα κάνετε.

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

Πού διαφέρει αυτή η σελίδα από τη συμβουλευτική ανακοίνωση του κατασκευαστή

Η συμβουλευτική ανακοίνωση του κατασκευαστή αξίζει να διαβαστεί και την παραθέτω παρακάτω. Έδωσαν μια διόρθωση γρήγορα και οι οδηγίες τους είναι καλές. Όμως μία πρόταση εμβέλειας σε αυτήν δεν ευσταθεί, και επειδή είναι η πρόταση που θα έλεγε στους περισσότερους αναγνώστες αυτής της σελίδας να ηρεμήσουν, θέλω να δείξω τη δουλειά μου αντί απλώς να το ισχυριστώ. Η συμβουλευτική ανακοίνωση λέει:

Οι μη ασφαλείς μεταφορτώσεις αρχείων μπλοκάρονταν ήδη από προεπιλογή σε όλες τις εκδόσεις Joomla πριν από τη Joomla 6. Μόνο η εγκατάσταση του iCagenda στη Joomla 6 (6.0.0-6.1.1) είχε την κρίσιμη ευπάθεια μεταφόρτωσης.

Να τι μέτρησα, σε απομονωμένες εγκαταστάσεις δικές μου. Κανένας ιστότοπος τρίτου δεν εμπλέκεται σε κανένα σημείο.

  • Το iCagenda 4.0.x εκτελεί τη μεταφόρτωση μέσω της κλάσης framework Joomla\Filesystem\File, η οποία προέρχεται από το πακέτο joomla/filesystem που συνοδεύει τον πυρήνα Joomla. Δεν χρησιμοποιεί την παλαιότερη κλάση Joomla CMS με το ίδιο όνομα, η οποία είναι αυτή που πάντα είχε έναν έλεγχο ασφαλούς αρχείου και είναι πιθανότατα αυτή που έχει κατά νου η συμβουλευτική ανακοίνωση.
  • Αυτή η μέθοδος framework απέκτησε τον δικό της έλεγχο ασφαλούς αρχείου (την παράμετρο $allowUnsafe και τον έλεγχο isSafeFile) μόλις στο joomla/filesystem 4.2.0, που είναι η έκδοση που συνοδεύει τη Joomla 6.1.2.
  • Οι εκδόσεις που πράγματι συνοδεύουν τις κυκλοφορίες Joomla που έλεγξα: η Joomla 4.4.14 συνοδεύει filesystem 2.0.2 (χωρίς έλεγχο), η Joomla 5.4.7 συνοδεύει 3.2.0 (χωρίς έλεγχο), και η Joomla 6.1.2 συνοδεύει 4.2.0 (έλεγχος υπάρχει).

Άρα ένας πλήρως διορθωμένος ιστότοπος Joomla 4 ή Joomla 5 που εκτελεί iCagenda 4.0.0 έως 4.0.7 είναι εκτεθειμένος, και γι’ αυτό η σελίδα διατυπώνει την προϋπόθεση Joomla ως «κάτω από 6.1.2» αντί για «μόνο Joomla 6». Τίποτα στην επίσημη καταχώριση CVE, στην καταχώριση NVD, ή στον κατάλογο CISA δεν οριοθετεί αυτό το ζήτημα κατά έκδοση Joomla· η πρόταση της συμβουλευτικής ανακοίνωσης είναι το μόνο σημείο όπου εμφανίζεται ένας τέτοιος περιορισμός.

Πώς να ελέγξετε τις εκδόσεις σας

Δεν χρειάζεται να με πιστέψετε για κανέναν από τους δύο αριθμούς, και υπάρχουν δύο για να ελέγξετε.

Η έκδοση του iCagenda σας, από το αρχείο manifest (χωρίς να απαιτείται σύνδεση): ανοίξτε

yourdomain.com/administrator/components/com_icagenda/icagenda.xml

και διαβάστε το στοιχείο <version>. Αυτό είναι ένα από τα δύο αρχεία που διάβασα.

Η έκδοση του iCagenda σας, από την περιοχή διαχείρισης:

  1. Συνδεθείτε στη διαχείριση Joomla (συνήθως στο yourdomain.com/administrator).
  2. Μεταβείτε στο System έπειτα Manage έπειτα Extensions.
  3. Αναζητήστε το iCagenda και σημειώστε την εγκατεστημένη έκδοση.

Προσέξτε ποιο icagenda.xml διαβάζετε. Το πακέτο iCagenda συνοδεύει επίσης ένα ενσωματωμένο πρόσθετο αναζήτησης με ένα manifest του ίδιου ονόματος, το οποίο φέρει τον δικό του άσχετο αριθμό έκδοσης. Μόνο η παραπάνω διαδρομή του component σάς λέει τι εκτελεί η επέκταση.

Η έκδοση του πυρήνα Joomla σας: στη διαχείριση, μεταβείτε στο System έπειτα System Information. Ή διαβάστε το /administrator/manifests/files/joomla.xml και πάρτε το στοιχείο <version>. Αυτό είναι το άλλο αρχείο που διάβασα.

Δεν υπάρχει τρόπος να διαπιστώσετε την έκδοση του iCagenda από την πηγή της δημόσιας σελίδας σας, και δεν θα πρέπει να προσπαθήσετε. Τα front-end στοιχεία (assets) της επέκτασης φέρουν το hash πολυμέσων που χρησιμοποιεί ολόκληρος ο ιστότοπος Joomla αντί για έναν αριθμό έκδοσης, και ο μοναδικός αριθμός με μορφή έκδοσης που πράγματι εμφανίζεται στην πηγή της σελίδας ανήκει στο πακέτο assets του module ημερολογίου (έναν χαμηλό αριθμό όπως 1.0.4) και δεν έχει καμία σχέση με το component. Το αρχείο manifest ή η οθόνη διαχείρισης είναι ο μόνος έγκυρος έλεγχος.

Στη συνέχεια εφαρμόστε τον κανόνα στην κορυφή αυτής της σελίδας: η σειρά 4.0.x κάτω από 4.0.8 και ένας πυρήνας κάτω από 6.1.2 σημαίνει επηρεαζόμενος.

Πώς να αναβαθμίσετε

Ο ασφαλέστερος δρόμος είναι να ενημερώσετε μέσω της ίδιας της Joomla, αφού πρώτα πάρετε αντίγραφο ασφαλείας:

  1. Πάρτε αντίγραφο ασφαλείας του ιστότοπού σας (αρχεία και βάση δεδομένων) πριν κάνετε αλλαγές. Οι περισσότεροι πάροχοι φιλοξενίας προσφέρουν αντίγραφα με ένα κλικ, ή χρησιμοποιήστε μια επέκταση αντιγράφων ασφαλείας για Joomla.
  2. Στη διαχείριση Joomla, ανοίξτε Extensions έπειτα Manage έπειτα Update, και κάντε κλικ στο Find Updates. Αν εμφανίζεται μια ενημέρωση iCagenda, εγκαταστήστε την από εδώ.
  3. Αν δεν εμφανιστεί καμία ενημέρωση εκεί, κατεβάστε την τρέχουσα κυκλοφορία απευθείας από τον κατασκευαστή, JoomliC, και εγκαταστήστε την μέσω Extensions έπειτα Install.
  4. Ποια έκδοση να εγκαταστήσετε: η 4.0.8 είναι η κυκλοφορία που διορθώνει αυτό το ζήτημα, αλλά η τρέχουσα κυκλοφορία τη στιγμή που γράφονται αυτά είναι η 4.0.11, και οι κυκλοφορίες μετά την 4.0.8 προσθέτουν περαιτέρω προστασία γύρω από το ίδιο χαρακτηριστικό, συμπεριλαμβανομένου του αποκλεισμού εκτέλεσης κώδικα από τον κατάλογο μέσων του iCagenda. Προχωρήστε στην 4.0.11 αντί να σταματήσετε στην 4.0.8. Στην παλαιότερη σειρά, προχωρήστε στην 3.9.15 ή νεότερη.
  5. Εναλλακτικά, η ενημέρωση του πυρήνα Joomla στην 6.1.2 ή νεότερη κλείνει επίσης αυτό το συγκεκριμένο ζήτημα, αλλά δεν υποκαθιστά την ενημέρωση της επέκτασης: ο έλεγχος εξουσιοδότησης που λείπει βρίσκεται στο ίδιο το iCagenda και μόνο μια ενημέρωση του iCagenda το διορθώνει.
  6. Μετά την αναβάθμιση, επιβεβαιώστε τον νέο αριθμό έκδοσης χρησιμοποιώντας τα παραπάνω βήματα, και ελέγξτε ότι το ημερολόγιό σας εξακολουθεί να εμφανίζεται και ότι η υποβολή εκδηλώσεων εξακολουθεί να λειτουργεί όπως αναμένετε.

Όσο βρίσκεστε εκεί, αξίζει να επιβεβαιώσετε ότι η ίδια η Joomla και οι υπόλοιπες επεκτάσεις σας είναι ενημερωμένες, καθώς η ίδια αρχή ισχύει για όλες τους.

Αν είχατε μια επηρεαζόμενη έκδοση

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

Η ενημέρωση κλείνει το σημείο εισόδου και προστατεύει το χαρακτηριστικό επισύναψης αρχείων, αλλά δεν καθαρίζει έναν ήδη παραβιασμένο ιστότοπο. […] Κρατήστε αντίγραφο κάθε ύποπτου αρχείου ως αποδεικτικό στοιχείο, διαγράψτε τα, αλλάξτε τους κωδικούς και τα διαπιστευτήρια Joomla σας, και ελέγξτε ολόκληρο τον ιστότοπό σας, όχι μόνο τον φάκελο του iCagenda.

Να τι μπορείτε (εσείς ή ο webmaster σας) να αναζητήσετε στον δικό σας ιστότοπο:

  • Αρχεία PHP κάτω από το images/icagenda/frontend/attachments/. Αυτός ο φάκελος θα έπρεπε να περιέχει μόνο συνημμένα εκδηλώσεων. Σε έναν διακομιστή Linux, ο έλεγχος είναι:

    find images/icagenda/frontend/attachments -name '*.php' -type f
    
  • Μη εγκεκριμένες ανώνυμες εκδηλώσεις στην ουρά έγκρισής σας, κάτι που δεν θα περιμένατε αν δεν ανοίξατε ποτέ την υποβολή εκδηλώσεων στο κοινό.
  • Επισκέψεις στα αρχεία καταγραφής πρόσβασής σας από έναν scanner που δηλώνει τον εαυτό του ως icagenda-batch/1.0.

Από την έκδοση 4.0.8 και μετά, το iCagenda επίσης ελέγχει το ίδιο για ενδείξεις παραβίασης και εγείρει μια ειδοποίηση μετά την ενημέρωσή σας αν βρει κάποια. Ο κατασκευαστής είναι ξεκάθαρος ότι η απουσία αυτής της ειδοποίησης δεν αποτελεί εγγύηση, οπότε είναι ένα χρήσιμο σημάδι και όχι ένα πιστοποιητικό υγείας.

Αν βρείτε οποιοδήποτε από αυτά, αντιμετωπίστε τον ιστότοπο ως παραβιασμένο: κρατήστε αντίγραφα των ύποπτων αρχείων ως αποδεικτικά στοιχεία και έπειτα αφαιρέστε τα, αλλάξτε όλα τα διαπιστευτήρια (διαχείριση Joomla, βάση δεδομένων, FTP/SSH, πίνακα φιλοξενίας), ελέγξτε τους λογαριασμούς χρηστών Joomla σας και τις ομάδες στις οποίες ανήκουν, και ελέγξτε ολόκληρο τον ιστότοπο και όχι μόνο τον φάκελο του iCagenda. Η επαναφορά από ένα αντίγραφο ασφαλείας που λήφθηκε πριν από τις 15 Ιουνίου 2026 είναι συχνά ασφαλέστερη από τον καθαρισμό επί τόπου, επειδή ένα backdoor που έχει απομείνει μπορεί να αναιρέσει τον καθαρισμό. Αν ο οργανισμός σας έχει ομάδα ασφάλειας IT ή εθνική CERT, ενημερώστε τους.

Θέλω να είμαι σαφής: δεν έχω ελέγξει τον ιστότοπό σας για κανέναν από αυτούς τους δείκτες, και δεν γνωρίζω αν ο ιστότοπός σας επηρεάστηκε. Αυτή η λίστα υπάρχει εδώ ώστε να μπορείτε να ελέγξετε μόνοι σας.

Δεν έχω webmaster / έχω κολλήσει

Αν δεν συντηρείτε εσείς τον ιστότοπο, προωθήστε αυτή τη σελίδα σε όποιον τον συντηρεί (τον προγραμματιστή σας, την εταιρεία σας ή τον πάροχο φιλοξενίας). Θα αναγνωρίσουν γρήγορα τα παραπάνω βήματα.

Αν συντηρείτε τον ιστότοπο μόνοι σας και κολλήσετε, ευχαρίστως να σας κατευθύνω χωρίς κόστος. Επικοινωνήστε με τα στοιχεία παρακάτω.

Επικοινωνία

Evan Harris, ερευνητής ασφαλείας

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

Αναφορές

Επίσημες ανακοινώσεις και παρακολούθηση

Κατασκευαστής (JoomliC)