Άγνωστος threat actor έχει μολύνει 953 ηλεκτρονικά καταστήματα, τα περισσότερα από τα οποία είναι καταστήματα Magento, στο πλαίσιο μιας εκστρατείας που βρίσκεται σε εξέλιξη από τον Ιούλιο του 2025. Σύμφωνα με την ολλανδική εταιρεία ασφάλειας e-commerce Sansec, ο επιτιθέμενος προσθέτει στις σελίδες μικρό κομμάτι κώδικα που φορτώνει κακόβουλο JavaScript μόνο σε πραγματικούς αγοραστές.
Καταστήματα Magento: πώς λειτουργεί η εκστρατεία
Ο κώδικας του επιτιθέμενου αποθηκεύεται στον πίνακα cms_block της βάσης δεδομένων του Magento. Ο πίνακας αυτός χρησιμοποιείται για να εμφανίζει στατικό περιεχόμενο στις σελίδες του καταστήματος. Όταν ένας επισκέπτης ανοίξει το μολυσμένο site και φορτωθεί το συγκεκριμένο block, ο browser του επικοινωνεί με τον διακομιστή της ομάδας και ρωτά τι πρέπει να κάνει στη συνέχεια.
Ο διακομιστής ελέγχει πρώτα αν ο επισκέπτης είναι πραγματικός πελάτης ή εργαλείο ασφαλείας. «Οι scanners δεν παίρνουν τίποτα», ανέφερε η Sansec. Έτσι οι αυτοματοποιημένοι έλεγχοι δεν βλέπουν κάτι ύποπτο και η μόλυνση περνά απαρατήρητη. Η Sansec δεν διευκρινίζει αν ο επιτιθέμενος τροποποιεί υπάρχον block (π.χ. header, footer ή banner) ή δημιουργεί νέο. Και οι δύο προσεγγίσεις θα έφταναν για να τρέξει ο loader.
Τι βλέπουν οι επισκέπτες στα καταστήματα Magento
Έχουν εντοπιστεί δύο εκδόσεις του loader. Στην πρώτη, το εξωτερικό JavaScript αποθηκεύει το payload στο localStorage του browser. Ο κώδικας τρέχει ξανά σε επόμενες επισκέψεις, ακόμη κι αν ο εξωτερικός domain πάψει να λειτουργεί. Η δεύτερη προσθέτει ελέγχους browser fingerprinting, δηλαδή αναγνώριση των χαρακτηριστικών του προγράμματος περιήγησης, ώστε να αποκλείει bots και scanners. Η φύση του τελικού payload παραμένει άγνωστη.
Οι πρώτες εκδοχές χρησιμοποιούσαν το Keitaro, πλατφόρμα διαφημιστικού tracking, ως σύστημα διανομής επισκεψιμότητας (TDS). Ανάλογα με τα χαρακτηριστικά του επισκέπτη, επέστρεφαν payload, ανακατεύθυνση ή τίποτα. Ο νεότερος domain, ο deepveindrilling[.]com, εγκαταλείπει το Keitaro και ενσωματώνει τη λογική φιλτραρίσματος στον ίδιο τον loader.
Πέντε domains σε δεκαπέντε μήνες
Η Sansec έχει καταγράψει πέντε domains που συνδέονται με την ίδια δραστηριότητα:
manulfie[.]click, από τον Ιούλιο του 2025neswnsssn[.]click, από τον Δεκέμβριο του 2025lanhd6549tdhse[.]top, από τον Μάρτιο του 2026additionalver[.]com, από τον Ιούνιο του 2026deepveindrilling[.]com, από τον Οκτώβριο του 2026
Ο τελευταίος domain καταχωρίστηκε στις 6 Οκτωβρίου 2026 και έχει ήδη βρεθεί σε CMS blocks 83 καταστημάτων. Φιλοξενείται πίσω από το Cloudflare και απαντά μόνο σε αιτήματα script από πραγματικούς επισκέπτες μολυσμένων καταστημάτων. Η αλλαγή domains φαίνεται και σε ένα συγκεκριμένο κατάστημα, όπου το block πέρασε από τον additionalver[.]com στον deepveindrilling[.]com στις 7 Οκτωβρίου.
Οι ευπάθειες που άνοιξαν την πόρτα
Για 471 καταστήματα, η Sansec εκτιμά ότι ο loader εγκαταστάθηκε μέσω της ευπάθειας PolyShell (CVE-2026-48356). Σε άλλα 102 καταστήματα ανέβηκαν αρχεία είτε μέσω PolyShell είτε μέσω της SessionReaper (CVE-2025-54236). Σε ένα κατάστημα με Magento 2.4.7-p1 βρέθηκαν webshells μεταμφιεσμένα σε εικόνες PNG στον φάκελο pub/media/custom_options/quote/. Το κατάστημα δεν είχε ακόμη εγκαταστήσει το APSB26-73, τη διόρθωση της Adobe για το PolyShell.
Το patching όμως δεν αρκεί πάντα. Σε άλλη περίπτωση, κατάστημα με Magento 2.4.7-p10 και χωρίς ελλείποντα core patches παραβιάστηκε με δημιουργία παράνομου λογαριασμού διαχειριστή, μέσω του οποίου εισήχθη ο κώδικας.
Τι διδάσκει το περιστατικό
Η εκστρατεία δείχνει ότι ο έλεγχος από εξωτερικούς scanners δεν εγγυάται ότι ένα κατάστημα είναι καθαρό. Όταν ο κακόβουλος κώδικας εμφανίζεται μόνο σε πραγματικούς αγοραστές, ο ιδιοκτήτης μπορεί να μην αντιληφθεί ποτέ το πρόβλημα. Επιπλέον, η αποθήκευση του κώδικα στη βάση δεδομένων και όχι σε αρχεία δυσκολεύει τους ελέγχους που εστιάζουν μόνο στο filesystem. Το ότι ο loader μένει στο localStorage του browser σημαίνει ότι η μόλυνση μπορεί να επιμένει στον υπολογιστή του πελάτη ακόμη και μετά το κλείσιμο ενός domain.
Παράλληλα, η Sansec δεν γνωρίζει τι κάνει το τελικό payload. Οι ιδιοκτήτες καταστημάτων δεν πρέπει να περιμένουν να μάθουν τον στόχο του κώδικα για να αντιδράσουν.
Τι πρέπει να κάνετε
- Ελέγξτε τους πίνακες
cms_blockκαιcms_pageγια απρόσμενα ή τροποποιημένα blocks που φορτώνουν εξωτερικά scripts. - Αναζητήστε στο κατάστημα αναφορές στους πέντε domains που αναφέρθηκαν παραπάνω.
- Εγκαταστήστε άμεσα τις διορθώσεις της Adobe, μεταξύ αυτών το APSB26-73 για το PolyShell, και ελέγξτε αν το κατάστημά σας είναι ευάλωτο στο SessionReaper.
- Ελέγξτε τη λίστα διαχειριστών και διαγράψτε λογαριασμούς που δεν αναγνωρίζετε. Επιβάλετε ισχυρούς κωδικούς.
- Εξετάστε τον φάκελο
pub/mediaγια αρχεία που μοιάζουν με εικόνες αλλά περιέχουν κώδικα PHP.
Για ευρύτερο πλαίσιο: η αποκάλυψη της Sansec έρχεται ενώ εντείνονται οι προσπάθειες εκμετάλλευσης του PHP2Shell, δύο κρίσιμων ευπαθειών στην PHP (CVE-2026-109618 και CVE-2026-109619). Ο ερευνητής της Perplexity Adel Karimi κατέγραψε φαινομενικά την πρώτη επιτυχημένη εκμετάλλευσή τους εκτός εργαστηρίου, σε honeypot servers. Η ενημέρωση της PHP είναι επίσης προτεραιότητα για όποιον διαχειρίζεται e-shop.
Πηγή: The Hacker News

