Η exceljs, βιβλιοθήκη Node.js για την ανάγνωση και δημιουργία υπολογιστικών φύλλων, βρίσκεται στο επίκεντρο μιας νέας προειδοποίησης. Η έκδοση exceljs-hardened 5.0.0 προτείνεται ως διορθωμένη εναλλακτική για μεγαλύτερη ασφάλεια XLSX. Η έκδοση exceljs-hardened 5.0.0 προτείνεται ως διορθωμένη εναλλακτική για μεγαλύτερη ασφάλεια XLSX. Τέσσερις ευπάθειες επηρεάζουν την έκδοση 4.4.0 και μπορούν να οδηγήσουν από διαρροή τοπικών αρχείων έως κατάρρευση υπηρεσίας που επεξεργάζεται αρχεία XLSX.

Οι αδυναμίες αποκαλύφθηκαν στις 23 Αυγούστου και καταγράφηκαν την επόμενη ημέρα στη βάση του NVD. Η ομάδα πίσω από το exceljs-hardened, ένα ανεξάρτητο fork με διορθώσεις ασφαλείας, προτείνει την έκδοση 5.0.0, καθώς το επίσημο έργο exceljs δεν έχει ακόμη ενσωματώσει τις συγκεκριμένες αλλαγές. Η τεχνική ομάδα του SecNews επισημαίνει ότι η ασφάλεια XLSX εξαρτάται από το περιβάλλον και ότι ο κίνδυνος αφορά κυρίως εφαρμογές που δέχονται αρχεία ή διαδρομές από μη αξιόπιστους χρήστες.
Δείτε επίσης: Πακέτα RedC2 στο npm εγκαθιστούν backdoor σε Linux
Τι περιλαμβάνουν οι ευπάθειες του exceljs
Η πιο άμεση απειλή αφορά τη συνάρτηση Workbook.addImage(). Όταν η εφαρμογή περνά μη ελεγμένη παράμετρο filename, η βιβλιοθήκη μπορεί να διαβάσει αρχεία που είναι προσβάσιμα στον Node.js process. Με κατάλληλα τμήματα διαδρομής, ένας απομακρυσμένος χρήστης μπορεί να εκμεταλλευτεί path traversal και να ενσωματώσει το περιεχόμενο σε αρχείο XLSX που επιστρέφει η υπηρεσία. Η σχετική advisory στο GitHub αποδίδει στην αδυναμία βαθμολογία CVSS 10.0.
Η δεύτερη σοβαρή κατηγορία είναι η αποσυμπίεση κακόβουλων αρχείων. Η CVE-2026-78206 περιγράφει ένα μικρό, ιδιαίτερα συμπιεσμένο XLSX που μπορεί να διογκωθεί σε gigabytes στη μνήμη, χωρίς όριο ανά καταχώριση, συνολικό όριο ή έλεγχο λόγου συμπίεσης. Η υπηρεσία μπορεί έτσι να εξαντλήσει τη μνήμη και να τερματιστεί, προκαλώντας άρνηση εξυπηρέτησης ακόμη και με ένα μόνο ανέβασμα αρχείου.

Στο ίδιο σύνολο περιλαμβάνονται επίσης CSV/formula injection, όταν τιμές που αρχίζουν με =, +, – ή @ γράφονται χωρίς διαφυγή, και prototype pollution μέσω αντικειμένων σημειώσεων. Η σελίδα του έργου exceljs-hardened καταγράφει και τις τέσσερις διορθώσεις, ώστε οι διαχειριστές να ελέγξουν αν χρησιμοποιούν τις ευάλωτες λειτουργίες.
Οι καταχωρίσεις είναι ιδιαίτερα σημαντικές επειδή η βιβλιοθήκη χρησιμοποιείται ως ενδιάμεσος μηχανισμός σε υπηρεσίες μεταφόρτωσης και αυτοματισμούς αναφορών. Δεν υπάρχει ακόμη επίσημη διόρθωση στο upstream πακέτο, επομένως η απλή ανανέωση του lockfile μπορεί να μην αλλάξει την έκδοση. Απαιτείται έλεγχος της πραγματικής εξάρτησης και των δικαιωμάτων της διεργασίας που την εκτελεί.
Οι καταχωρίσεις είναι ιδιαίτερα σημαντικές επειδή η βιβλιοθήκη χρησιμοποιείται ως ενδιάμεσος μηχανισμός σε υπηρεσίες μεταφόρτωσης και αυτοματισμούς αναφορών. Δεν υπάρχει ακόμη επίσημη διόρθωση στο upstream πακέτο, επομένως η απλή ανανέωση του lockfile μπορεί να μην αλλάξει την έκδοση. Απαιτείται έλεγχος της πραγματικής εξάρτησης και των δικαιωμάτων της διεργασίας που την εκτελεί.
Η ασφάλεια XLSX με exceljs-hardened 5.0.0
Το fork δεν αποτελεί επίσημη συνέχεια του exceljs ούτε συνδέεται με τους αρχικούς συντηρητές. Ξεκινά από την έκδοση 4.4.0 και διατηρεί διαφορετικό όνομα πακέτου, για να μην αντικαταστήσει σιωπηρά το upstream. Η έκδοση 5.0.0 προσθέτει έλεγχο ασφαλούς διαδρομής για τις εικόνες, απορρίπτει διαδρομές με τμήματα .. και προστατεύει τις εξαγωγές CSV με εισαγωγικό χαρακτήρα πριν από πιθανό τύπο.
Για την αποσυμπίεση, το exceljs-hardened 5.0.0 ελέγχει το δηλωμένο μη συμπιεσμένο μέγεθος στον κεντρικό κατάλογο του αρχείου πριν διαβάσει τα δεδομένα. Τα προεπιλεγμένα όρια είναι 128 MB για μία καταχώριση και 512 MB για το σύνολο του αρχείου, ενώ μπορούν να προσαρμοστούν ανάλογα με το περιβάλλον. Οι εφαρμογές πρέπει να θεωρούν κάθε XLSX αρχείο μη αξιόπιστη είσοδο, ακόμη και όταν προέρχεται από εσωτερικό χρήστη.
Δείτε επίσης: Διορθώθηκε ευπάθεια στην isolated-vm με επιπτώσεις σε sandbox

Τι πρέπει να κάνουν οι διαχειριστές
Όσοι χρησιμοποιούν το επίσημο exceljs 4.4.0 πρέπει να εντοπίσουν αν η εφαρμογή καλεί τις συναρτήσεις load, readFile, addImage ή CSV.write με δεδομένα που ελέγχει ο χρήστης. Η άμεση επιλογή είναι η μετάβαση στο exceljs-hardened 5.0.0, αφού προηγηθεί έλεγχος συμβατότητας και δοκιμή σε περιβάλλον προσομοίωσης. Όπου η αλλαγή πακέτου δεν είναι εφικτή, χρειάζονται αυστηρή επικύρωση διαδρομών, περιορισμός μεγέθους αρχείων και απομόνωση της διαδικασίας.
Παράλληλα, οι ομάδες ανάπτυξης πρέπει να αποφεύγουν την άμεση χρήση δεδομένων CSV σε εφαρμογές υπολογιστικών φύλλων, να απενεργοποιούν μη απαραίτητες λειτουργίες και να παρακολουθούν κατανάλωση μνήμης και ασυνήθιστες αποτυχίες. Η συντακτική ομάδα του SecNews συνιστά έλεγχο του lockfile, αναζήτηση όλων των έμμεσων εξαρτήσεων και καταγραφή της έκδοσης που χρησιμοποιείται σε κάθε υπηρεσία.

Δείτε επίσης: Κακόβουλη έκδοση πακέτου μολύνει έργα Rust κατά τη μεταγλώττιση
🔒 Προστατέψτε την ιδιωτικότητά σας με Proton VPN
Ελβετικό VPN από τους δημιουργούς του Proton Mail — αυστηρή πολιτική no-logs, ισχυρή κρυπτογράφηση και ενσωματωμένο NetShield που μπλοκάρει διαφημίσεις, trackers & malware.
- ✔ No-logs, με έδρα την Ελβετία (εκτός 14-Eyes)
- ✔ NetShield: φραγή διαφημίσεων, trackers & κακόβουλων domains
- ✔ Καλύπτει όλες τις συσκευές — δωρεάν έκδοση διαθέσιμη
Ο σύνδεσμος είναι συνεργατικός (affiliate) — το SecNews ενδέχεται να λάβει προμήθεια χωρίς επιπλέον κόστος για εσάς. Δεν επηρεάζει την ανεξαρτησία της αρθρογραφίας μας.
Η ασφάλεια XLSX δεν σημαίνει ότι κάθε εφαρμογή είναι αυτομάτως εκτεθειμένη. Η πραγματική επίδραση εξαρτάται από το αν δέχεται μη αξιόπιστα αρχεία και από τα δικαιώματα της διεργασίας. Ωστόσο, οι ευπάθειες του exceljs δείχνουν γιατί η επικύρωση εισόδου, τα όρια πόρων και η τακτική αναθεώρηση εξαρτήσεων πρέπει να αποτελούν μόνιμο μέρος της ασφαλούς ανάπτυξης.
