Το Node.js διορθώνει πολλαπλά τρωτά σημεία που επιτρέπουν επιθέσεις DoS και σφάλματα διεργασίας


Το έργο Node.js κυκλοφόρησε μια κρίσιμη ενημέρωση ασφαλείας στις 24 Μαρτίου 2026, για τον κλάδο Long-Term Support (LTS), ορίζοντας την έκδοση 20.20.2 «Iron» ως έκδοση ασφαλείας.

Η ενημέρωση επιλύει επτά παρακολουθούμενα τρωτά σημεία που καλύπτουν τον χειρισμό σφαλμάτων TLS, τον έλεγχο ροής HTTP/2, τις διαρροές κρυπτογραφικού χρονισμού, τις παρακάμψεις μοντέλων αδειών και μια αδυναμία κατακερματισμού του πίνακα V8, πολλά από τα οποία μπορούν να ενεργοποιηθούν απομακρυσμένα χωρίς έλεγχο ταυτότητας.

Το κρίσιμο ελάττωμα επιστροφής SNIC TLS ενεργοποιεί τη συντριβή απομακρυσμένης διαδικασίας

Το πιο σοβαρό ζήτημα σε αυτήν την παρτίδα είναι το CVE-2026-21637 (αξιολόγηση Υψηλή), μια ελλιπής διόρθωση μιας προηγούμενης ευπάθειας TLS από το ίδιο αναγνωριστικό. Φεύγει ένα ελάττωμα στον χειρισμό σφαλμάτων TLS του Node.js SNICallback Οι επικλήσεις δεν προστατεύονται από σύγχρονες εξαιρέσεις, ενώ αντίστοιχες επανακλήσεις ALPN και PSK είχαν ήδη αντιμετωπιστεί νωρίτερα.

Όταν ένας πελάτης TLS στέλνει ένα απροσδόκητο servername τιμή, η εξαίρεση που ρίχνεται παρακάμπτει όλους τους χειριστές σφαλμάτων TLS και διαδίδεται ως εξαίρεση που δεν έχει εντοπιστεί, διακόπτοντας τη διαδικασία Node.js εντελώς.

Η επιδιόρθωση, που συνέβαλε ο Matteo Collina, αναδιπλώνεται SNICallback επικλήσεις σε α try/catch φραγμός. Οποιοσδήποτε διακομιστής TLS λειτουργεί σε εκδόσεις 20.x, 22.x, 24.x ή 25.x όπου SNICallback μπορεί να ρίξει επηρεάζεται.

Σφάλμα ελέγχου ροής HTTP/2 Ενεργοποιεί διαρροή μνήμης και DoS

Το CVE-2026-21714 (Μεσαίο) επηρεάζει τους διακομιστές Node.js HTTP/2 και περιλαμβάνει μη χειρισμένους NGHTTP2_ERR_FLOW_CONTROL κωδικούς σφαλμάτων. Ένας κακόβουλος πελάτης μπορεί να στείλει λανθασμένη μορφή WINDOW_UPDATE καρέ στη ροή 0, προκαλώντας διαρροή μνήμης στη διαδικασία διακομιστή μέσω επαναλαμβανόμενων συνδέσεων.

Αν δεν αντιμετωπιστεί, αυτό οδηγεί σε εξάντληση των πόρων και τελικά σε άρνηση παροχής υπηρεσιών. Το RafaelGSS συνέταξε την επιδιόρθωση, προσθέτοντας ρητό χειρισμό για αυτόν τον κωδικό σφάλματος nghttp2 στο επίπεδο πηγής Node.js.

V8 HashDoS μέσω Σύγκρουσης ευρετηρίου Array

Το CVE-2026-21717 (Μεσαίο) στοχεύει τον εσωτερικό μηχανισμό κατακερματισμού συμβολοσειρών του V8, ο οποίος κατακερματίζει τις συμβολοσειρές που μοιάζουν με ακέραιο αριθμό στις αριθμητικές τους τιμές — καθιστώντας τις συγκρούσεις κατακερματισμού ασήμαντα προβλέψιμες.

Δημιουργώντας ένα ωφέλιμο φορτίο που αναγκάζει πολλές τέτοιες συγκρούσεις, συνηθέστερα μέσω του JSON.parse() σε είσοδο ελεγχόμενη από τον εισβολέα, ένας αντίπαλος μπορεί να υποβαθμίσει σημαντικά την απόδοση της διαδικασίας Node.js σε μια κλασική επίθεση HashDoS. Αυτή η επιδιόρθωση, που συνεισέφερε ο Joyee Cheung, εφαρμόστηκε στα επίπεδα βάθους, κατασκευής και δοκιμής.

Cryptographic Timing Oracle στην επαλήθευση HMAC

Το CVE-2026-21713 (Medium) εισάγει ένα πλευρικό κανάλι χρονισμού στην επαλήθευση HMAC Web Cryptography Node.js. Το ελάττωμα προκύπτει από τη χρήση ενός μη σταθερού χρόνου memcmp() σύγκριση κατά την επικύρωση υπογραφών HMAC που παρέχονται από τον χρήστη, διαρροή πληροφοριών χρονισμού ανάλογα με τον αριθμό των byte που ταιριάζουν.

Υπό συνθήκες μέτρησης υψηλής ανάλυσης, αυτό μπορεί να χρησιμεύσει ως χρησμός χρονισμού για να συναχθούν τιμές HMAC. Ο Filip Skokan το έλυσε αυτό αντικαθιστώντας τη σύγκριση με ένα πρωτόγονο που είναι ασφαλές για χρονισμό που είναι ήδη διαθέσιμο στη βάση κωδικών.

Παράκαμψη μοντέλου αδειών

Επιδιορθώθηκαν επίσης δύο παρακάμψεις μοντέλων αδειών χαμηλής σοβαρότητας. Το CVE-2026-21715 επιτρέπει την εκτέλεση κώδικα κάτω από --permission με περιορισμένη --allow-fs-read για χρήση fs.realpathSync.native() για να αποκαλύψει την ύπαρξη αρχείου και να επιλύσει διαδρομές συμβολικής σύνδεσης εκτός επιτρεπόμενων καταλόγων.

Το CVE-2026-21716 επεκτείνει την κάλυψη σε lib/fs/promisesτο οποίο ομοίως δεν είχε επιβολή άδειας. Και τα δύο διορθώθηκαν από τη RafaelGSS. Επιπλέον, το CVE-2026-21710 αντιμετωπίζει ένα πρωτότυπο διάνυσμα ρύπανσης κεφαλίδας HTTP χρησιμοποιώντας ένα αντικείμενο μηδενικού πρωτοτύπου για headersDistinct και trailersDistinct χωράφια.

Περίληψη ευπάθειας

CVE Αυστηρότητα Συστατικό Σύγκρουση
CVE-2026-21637 Ψηλά TLS / SNICallback Συντριβή απομακρυσμένης διαδικασίας
CVE-2026-21717 Μέσον V8 / ανάλυση JSON Εξάντληση HashDoS / CPU
CVE-2026-21713 Μέσον Web Crypto / HMAC Χρονισμός χρονισμού / πλαστογραφία MAC
CVE-2026-21714 Μέσον HTTP/2 / nghttp2 Διαρροή μνήμης / DoS
CVE-2026-21710 Μέσον Κεφαλίδες HTTP Πρωτότυπη ρύπανση
CVE-2026-21716 Χαμηλός Μοντέλο άδειας (fs/promises) Αποκάλυψη διαδρομής συστήματος αρχείων
CVE-2026-21715 Χαμηλός Μοντέλο άδειας (realpath) Αποκάλυψη διαδρομής συστήματος αρχείων

Οι προγραμματιστές και οι διαχειριστές συστήματος προτρέπονται να αναβαθμίσουν άμεσα στις επιδιορθωμένες εκδόσεις: v20.20.2, v22.22.2, v24.14.1ή v25.8.2.

Δεδομένου ότι το CVE-2026-21637 δεν απαιτεί έλεγχο ταυτότητας και προκαλεί άμεσα τον τερματισμό της διαδικασίας, τα περιβάλλοντα που φιλοξενούν διακομιστές TLS προσβάσιμους στο κοινό θα πρέπει να αντιμετωπίζουν αυτήν την αναβάθμιση ως κρίσιμη προτεραιότητα.

Προγράμματα εγκατάστασης και δυαδικά αρχεία είναι διαθέσιμα σε πλατφόρμες Windows, macOS, Linux (x64, ARM, PPC, s390x) και AIX μέσω του επίσημου καναλιού διανομής Node.js.



VIA: cybersecuritynews.com

Dimitris Marizas
Dimitris Marizashttps://starlinkgreece.gr
Μεταφράζω bits και bytes σε απλά ελληνικά. Λατρεύω την τεχνολογία που λύνει προβλήματα και αναζητώ πάντα το επόμενο "big thing" πριν γίνει mainstream.

Related Articles

ΑΦΗΣΤΕ ΜΙΑ ΑΠΑΝΤΗΣΗ

εισάγετε το σχόλιό σας!
παρακαλώ εισάγετε το όνομά σας εδώ

Stay Connected

0ΥποστηρικτέςΚάντε Like
0ΑκόλουθοιΑκολουθήστε

Latest Articles