Μια σημαντική ευπάθεια έχει ανακαλυφθεί στο Happy DOM, ένα δημοφιλές JavaScript DOM implementation. Το κενό ασφαλείας επηρεάζει εκδόσεις έως και την v19.

Αυτή η ευπάθεια μπορεί να επιτρέψει σε επιτιθέμενους να πραγματοποιήσουν επιθέσεις Απομακρυσμένης Εκτέλεσης Κώδικα (RCE), επηρεάζοντας δυνητικά τους 2.7 εκατομμύρια εβδομαδιαίους χρήστες του πακέτου. Το πρόβλημα προκύπτει επειδή το Node.js VM Context που χρησιμοποιείται από το Happy DOM δεν είναι ένα πλήρως απομονωμένο περιβάλλον. Ως αποτέλεσμα, μπορεί να επιτρέψει σε μη αξιόπιστο κώδικα να διαφύγει και να αποκτήσει πρόσβαση στις λειτουργίες του υποκείμενου συστήματος.
Δείτε επίσης: Oracle E-Business Suite: Νέα ευπάθεια RCE εκθέτει δεδομένα
Το κύριο ζήτημα είναι ότι το Happy DOM έχει ενεργοποιημένη την αξιολόγηση JavaScript από προεπιλογή, μια λεπτομέρεια που μπορεί να μην είναι εμφανής σε όλους τους προγραμματιστές που χρησιμοποιούν τη βιβλιοθήκη. Αυτή η προεπιλεγμένη διαμόρφωση γίνεται κίνδυνος ασφαλείας όταν το περιβάλλον εκτελεί μη αξιόπιστο κώδικα. Ένας επιτιθέμενος μπορεί να δημιουργήσει κακόβουλο JavaScript που διασχίζει το constructor chain για να αποκτήσει πρόσβαση στον process-level Function constructor. Αυτό του επιτρέπει να εκτελέσει κώδικα έξω από το προοριζόμενο περιβάλλον sandbox, οδηγώντας σε πλήρες VM escape.
Ο τύπος του module system που χρησιμοποιείται, είτε CommonJS είτε ESM, καθορίζει την έκταση του ελέγχου του επιτιθέμενου. Σε ένα περιβάλλον CommonJS, ένας επιτιθέμενος μπορεί να αποκτήσει πρόσβαση στο require() function, που του επιτρέπει να φορτώσει Node.js modules και να εκτελέσει μη εξουσιοδοτημένες ενέργειες.

Οι επιπτώσεις αυτής της ευπάθειας είναι εκτεταμένες, ειδικά για εφαρμογές που χρησιμοποιούν Server-Side Rendering (SSR) ή testing frameworks που επεξεργάζονται εξωτερικό περιεχόμενο. Ένας επιτιθέμενος θα μπορούσε να εισάγει ένα κακόβουλο script σε user-controlled HTML, το οποίο στη συνέχεια θα εκτελείται στον διακομιστή. Η επιτυχής εκμετάλλευση θα μπορούσε να οδηγήσει σε αρκετά καταστροφικά αποτελέσματα:
– Εξαγωγή Δεδομένων: Απόκτηση πρόσβασης σε ευαίσθητες πληροφορίες όπως μεταβλητές περιβάλλοντος, αρχεία διαμόρφωσης και άλλα μυστικά.
– Πλευρική Κίνηση: Χρήση πρόσβασης στο δίκτυο για σύνδεση με άλλα εσωτερικά συστήματα. Αν και το Happy DOM έχει κάποιες προστασίες δικτύου, μια παραβιασμένη διαδικασία θα μπορούσε να τις παρακάμψει.
– Εκτέλεση Κώδικα: Απόκτηση πρόσβασης σε υποδιαδικασίες για εκτέλεση αυθαίρετων εντολών στον διακομιστή.
– Persistence: Τροποποίηση του συστήματος αρχείων για διατήρηση μακροχρόνιας παρουσίας στο παραβιασμένο σύστημα.
Δείτε επίσης: Ευπάθειες στο Microsoft Defender επιτρέπουν παράκαμψη αυθεντικοποίησης
Happy DOM Ευπάθεια: Προστασία
Οι προγραμματιστές του Happy DOM έχουν κυκλοφορήσει μια ενημερωμένη έκδοση για την αντιμετώπιση αυτής της ευπάθειας. Συνιστάται στους χρήστες να λάβουν άμεσα μέτρα για την προστασία των συστημάτων τους. Η συνιστώμενη ενέργεια είναι η αναβάθμιση στο Happy DOM v20 ή νεότερη. Αυτή η ενημερωμένη έκδοση απενεργοποιεί την αξιολόγηση JavaScript από προεπιλογή και περιλαμβάνει μια προειδοποίηση εάν είναι ενεργοποιημένη σε ένα περιβάλλον που θεωρείται μη ασφαλές.
Δείτε επίσης: GitHub Copilot: Ευπάθεια επιτρέπει εξαγωγή κώδικα από ιδιωτικά αποθετήρια

Για χρήστες που απαιτούν αξιολόγηση JavaScript, είναι κρίσιμο να εκτελούν το Node.js με το --disallow-code-generation-from-strings flag. Αυτή η ρύθμιση αποτρέπει τη χρήση των eval() και Function() σε επίπεδο διαδικασίας, κλείνοντας το κενό που επιτρέπει το VM escape. Εάν μια άμεση ενημέρωση δεν είναι εφικτή, οι προγραμματιστές θα πρέπει να απενεργοποιήσουν την αξιολόγηση JavaScript χειροκίνητα, εκτός εάν το περιεχόμενο που επεξεργάζεται είναι από μια πλήρως αξιόπιστη πηγή.
🔒 Προστατέψτε την ιδιωτικότητά σας με Proton VPN
Ελβετικό VPN από τους δημιουργούς του Proton Mail — αυστηρή πολιτική no-logs, ισχυρή κρυπτογράφηση και ενσωματωμένο NetShield που μπλοκάρει διαφημίσεις, trackers & malware.
- ✔ No-logs, με έδρα την Ελβετία (εκτός 14-Eyes)
- ✔ NetShield: φραγή διαφημίσεων, trackers & κακόβουλων domains
- ✔ Καλύπτει όλες τις συσκευές — δωρεάν έκδοση διαθέσιμη
Ο σύνδεσμος είναι συνεργατικός (affiliate) — το SecNews ενδέχεται να λάβει προμήθεια χωρίς επιπλέον κόστος για εσάς. Δεν επηρεάζει την ανεξαρτησία της αρθρογραφίας μας.
