Η έκδοση nvm 0.40.8 διορθώνει μια ευπάθεια διάσχισης διαδρομής (path traversal) που μπορεί να οδηγήσει σε αποκάλυψη αρχείων από υπολογιστή προγραμματιστή. Το πρόβλημα καταγράφηκε ως CVE-2026-94185 και αφορά εκδόσεις πριν από την 0.40.8.

Η ευπάθεια εντοπίζεται στον τρόπο με τον οποίο το Node Version Manager, γνωστό ως nvm, χειρίζεται τις εκδόσεις και τα ψευδώνυμα που αποθηκεύονται στον κατάλογο $NVM_DIR/alias. Σύμφωνα με την καταχώριση του CVE, η λειτουργία δεν έλεγχε αν η τελική διαδρομή παρέμενε μέσα στον προβλεπόμενο κατάλογο.
Δείτε επίσης: GitLab: Κρίσιμη ευπάθεια path traversal απαιτεί άμεση ενημέρωση
Έκδοση nvm 0.40.8: Πώς λειτουργεί η ευπάθεια
Πριν από την έκδοση nvm 0.40.8, η συνάρτηση nvm_alias() συνένωνε το όνομα μιας έκδοσης ή ενός ψευδωνύμου με τη διαδρομή του καταλόγου, χωρίς επαρκή έλεγχο περιορισμού. Ένα όνομα που περιείχε το στοιχείο .. μπορούσε έτσι να κινηθεί προς τα έξω και να δείξει σε αρχείο που βρισκόταν αλλού στο σύστημα.
Στην προεπιλεγμένη εγκατάσταση, μια ειδικά διαμορφωμένη τιμή όπως ../../.npmrc μπορεί να οδηγήσει σε αρχείο του οικιακού καταλόγου. Η nvm στη συνέχεια εμφανίζει μη κενές γραμμές του αρχείου σε μήνυμα σφάλματος ή στην έξοδο της εντολής. Η συμπεριφορά αυτή δημιουργεί κίνδυνο αποκάλυψης ευαίσθητων πληροφοριών, χωρίς όμως να επιτρέπει αλλαγή δεδομένων ή εκτέλεση κώδικα.
Ο πιο ρεαλιστικός τρόπος εκμετάλλευσης αφορά ένα αποθετήριο με κακόβουλο αρχείο .nvmrc. Όταν ένας προγραμματιστής εκτελέσει nvm use, nvm install ή nvm which μέσα σε αυτόν τον φάκελο, η μη αξιόπιστη τιμή μπορεί να περάσει στη διαδικασία επίλυσης του ψευδωνύμου. Το ίδιο ζήτημα μπορεί να ενεργοποιηθεί όταν έχει ρυθμιστεί αυτόματη αλλαγή έκδοσης με την είσοδο σε νέο κατάλογο.
Το ζήτημα δεν απαιτεί σύνδεση στο διαδίκτυο και δεν εξαρτάται από κάποια υπηρεσία του nvm. Αυτό σημαίνει ότι ένας έλεγχος ασφαλείας σε εισερχόμενες συνδέσεις δεν αρκεί για την αντιμετώπισή του. Η προστασία πρέπει να ξεκινήσει από την αλυσίδα ανάπτυξης: έλεγχος του κώδικα πριν από τοπικές εντολές, περιορισμός των αυτόματων μηχανισμών και αναβάθμιση του εργαλείου διαχείρισης εκδόσεων.
Οι υπεύθυνοι έργων που διανέμουν αρχεία .nvmrc σε συνεργάτες ή σε δημόσια αποθετήρια καλό είναι να επανεξετάσουν τις διαδικασίες έγκρισης. Ένα αρχείο που φαίνεται να ζητά απλώς διαφορετική έκδοση Node.js μπορεί να επηρεάσει την τοπική συμπεριφορά του nvm. Η ενημέρωση είναι ιδιαίτερα σημαντική για προγραμματιστές με πρόσβαση σε αποθετήρια κώδικα, μητρώα πακέτων ή υπηρεσίες συνεχούς ολοκλήρωσης.

Βαθμολογία και όρια της επίθεσης
Η σχετική ενημέρωση ασφαλείας στο GitHub χαρακτηρίζει το ζήτημα μέτριας σοβαρότητας. Η βαθμολογία CVSS 3.1 είναι 5,5, ενώ η αντίστοιχη βαθμολογία CVSS 4.0 φτάνει το 6,7. Η επίθεση έχει τοπικό διάνυσμα, απαιτεί αλληλεπίδραση του χρήστη και επηρεάζει κυρίως την εμπιστευτικότητα.
Ο επιτιθέμενος δεν χρειάζεται λογαριασμό στο μηχάνημα, αλλά πρέπει να παρασύρει τον χρήστη σε εκτέλεση επηρεαζόμενης εντολής ή να του δώσει ένα αποθετήριο που περιέχει το κατάλληλο .nvmrc. Η ανάγνωση περιορίζεται σε αρχεία στα οποία έχει πρόσβαση ο ίδιος ο χρήστης. Ενδεικτικοί στόχοι είναι αρχεία ρυθμίσεων, διαπιστευτήρια υπηρεσιών, διακριτικά πρόσβασης, αρχεία .env και ρυθμίσεις του npm.
Η καταχώριση διευκρινίζει ότι η συγκεκριμένη διαδρομή δεν προκαλεί αλλοίωση αρχείων, άρνηση υπηρεσίας ή απομακρυσμένη εκτέλεση κώδικα. Παρ’ όλα αυτά, η διαρροή ενός διακριτικού ή ενός αρχείου ρυθμίσεων μπορεί να δώσει συνέχεια σε ξεχωριστή επίθεση, ειδικά σε περιβάλλοντα όπου ο ίδιος υπολογιστής χρησιμοποιείται για ανάπτυξη και πρόσβαση σε υποδομές.
Δείτε επίσης: Κακόβουλες διαμορφώσεις .git μπορούν να κάνουν AI agents να εκτελούν κώδικα

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

Η κυκλοφορία της nvm 0.40.8 συμπίπτει με τη δημοσίευση της ευπάθειας και αποτελεί την επίσημη διορθωμένη έκδοση που αναφέρεται από το έργο. Η τεχνική ομάδα του SecNews συνιστά στους προγραμματιστές να αντιμετωπίζουν κάθε μη αξιόπιστο .nvmrc ως δυνητικά επικίνδυνη ρύθμιση και να ολοκληρώσουν την ενημέρωση πριν συνεχίσουν την εργασία τους.
