Η CVE-2026-61599 djust αποκαλύπτει σοβαρό κενό ασφαλείας στο djust, ένα πλαίσιο για Django που προσφέρει διαδραστική απόδοση σε πραγματικό χρόνο. Η ευπάθεια επιτρέπει σε μη πιστοποιημένους απομακρυσμένους χρήστες να προκαλέσουν εισαγωγή αυθαίρετων Python modules μέσω WebSocket ή SSE.

Το ζήτημα καταγράφηκε ως CVE-2026-61599 djust και αφορά εκδόσεις του djust πριν από την 1.0.7. Η σχετική ανακοίνωση ασφαλείας στο GitHub χαρακτηρίζει την ευπάθεια υψηλής σοβαρότητας, με βαθμολογία CVSS 4.0 ίση με 8,8. Η διόρθωση κυκλοφόρησε στην έκδοση 1.0.7.
Δείτε επίσης: Browserless: Ευπάθεια στο Playwright WebSocket εκθέτει αρχεία
Η CVE-2026-61599 djust και το WebSocket
Το djust δέχεται από τον πελάτη μια διαδρομή που δείχνει σε μια κλάση LiveView. Πριν ελεγχθεί αν η κλάση είναι επιτρεπτή ή αν ο χρήστης έχει δικαίωμα πρόσβασης, ο διακομιστής χρησιμοποιεί τη συνάρτηση __import__ για να φορτώσει το module. Αυτό σημαίνει ότι εκτελείται ο κώδικας κορυφαίου επιπέδου του module πριν ολοκληρωθούν οι έλεγχοι ασφαλείας.
Ένας απομακρυσμένος και μη πιστοποιημένος χρήστης μπορεί να στείλει ειδικά μηνύματα mount, live_redirect_mount ή url_change μέσω WebSocket. Αντίστοιχη συμπεριφορά υπάρχει και στη διαδρομή SSE. Αρκεί μια κατασκευασμένη τιμή της μορφής όνομα.module.ΟποιοδήποτεΌνομα ώστε το djust να επιχειρήσει εισαγωγή ενός διαθέσιμου module.
Η επίπτωση δεν περιορίζεται στην αποκάλυψη μιας διαδρομής. Ο κώδικας εισαγωγής μπορεί να προκαλέσει παρενέργειες κατά την εκκίνησή του, να φορτώσει βαριές εξαρτήσεις και να οδηγήσει σε άρνηση υπηρεσίας. Παράλληλα, διαφορετικά μηνύματα σφάλματος μπορούν να βοηθήσουν στην απαρίθμηση modules και κλάσεων που υπάρχουν στον διακομιστή.
Το σενάριο είναι ιδιαίτερα σημαντικό για εφαρμογές που φιλοξενούν πολλές LiveView σε κοινό περιβάλλον. Ένα module που δεν προορίζεται για δημόσια κλήση μπορεί να γίνει στόχος μόνο και μόνο επειδή είναι διαθέσιμο στο περιβάλλον εκτέλεσης. Η απομόνωση των υπηρεσιών και ο περιορισμός των δικαιωμάτων του λογαριασμού της εφαρμογής μειώνουν την πιθανή έκταση μιας επίθεσης.

Η διόρθωση του djust στην έκδοση 1.0.7
Σύμφωνα με την καταγραφή της CVE-2026-61599, η έκδοση 1.0.7 εισάγει ένα νέο φίλτρο πριν από την κλήση της __import__. Η διαδρομή ελέγχεται με τη συνάρτηση is_view_import_allowed και επιτρέπεται μόνο όταν το module έχει ήδη φορτωθεί στο sys.modules ή όταν περιλαμβάνεται ρητά στη ρύθμιση LIVEVIEW_ALLOWED_MODULES.
Η νέα λογική εφαρμόζεται στις βασικές διαδρομές WebSocket και SSE, ενώ υπάρχει πρόσθετος έλεγχος μέσα στη διαδικασία δημιουργίας της προβολής. Η αλλαγή μετατρέπει την προηγούμενη συμπεριφορά από «επιτρέπονται όσα δεν αποκλείονται» σε περιορισμένη λίστα, ώστε η αποτυχία μιας ρύθμισης να μην ανοίγει αυτόματα πρόσβαση.
Η ανακοίνωση επισημαίνει ότι η ρύθμιση LIVEVIEW_ALLOWED_MODULES στις παλαιότερες εκδόσεις λειτουργεί ως μερικό αντίμετρο και όχι ως οριστική λύση. Η αντιστοίχιση με startswith μπορεί να επιτρέψει περισσότερα μονοπάτια από όσα σχεδιάζει ο διαχειριστής, ενώ ο κώδικας εξακολουθεί να φορτώνεται πριν από τον έλεγχο τύπου.
Για τον λόγο αυτό, η αντιμετώπιση της CVE-2026-61599 djust δεν πρέπει να περιοριστεί σε αλλαγή παραμέτρων. Η αναβάθμιση πρέπει να δοκιμαστεί σε περιβάλλον προσομοίωσης, ώστε να επιβεβαιωθεί ότι οι επιτρεπόμενες LiveView λειτουργίες συνεχίζουν να φορτώνονται κανονικά χωρίς να ανοίγουν νέα, μη αναμενόμενα μονοπάτια.
Δείτε επίσης: CVE-2026-5430: Ευπάθεια στο WSO2 API Manager
Οι διαχειριστές που δεν μπορούν να αναβαθμίσουν άμεσα πρέπει να ορίσουν το LIVEVIEW_ALLOWED_MODULES με όσο το δυνατόν στενότερη λίστα. Η ρύθμιση μειώνει την επιφάνεια επίθεσης, αλλά δεν αποτελεί πλήρη αντικατάσταση της αναβάθμισης, επειδή οι παλαιότερες εκδόσεις πραγματοποιούν την εισαγωγή πριν από όλους τους ελέγχους.

Τι πρέπει να κάνουν οι διαχειριστές
Η βασική ενέργεια είναι η αναβάθμιση του djust στην 1.0.7 ή νεότερη έκδοση. Μετά την αλλαγή, χρειάζεται έλεγχος ότι οι εφαρμογές δηλώνουν μόνο τα modules που απαιτούνται για τις LiveView λειτουργίες και ότι οι υπηρεσίες WebSocket δεν είναι προσβάσιμες από μη αξιόπιστα δίκτυα.
🔒 Προστατέψτε την ιδιωτικότητά σας με Proton VPN
Ελβετικό VPN από τους δημιουργούς του Proton Mail — αυστηρή πολιτική no-logs, ισχυρή κρυπτογράφηση και ενσωματωμένο NetShield που μπλοκάρει διαφημίσεις, trackers & malware.
- ✔ No-logs, με έδρα την Ελβετία (εκτός 14-Eyes)
- ✔ NetShield: φραγή διαφημίσεων, trackers & κακόβουλων domains
- ✔ Καλύπτει όλες τις συσκευές — δωρεάν έκδοση διαθέσιμη
Ο σύνδεσμος είναι συνεργατικός (affiliate) — το SecNews ενδέχεται να λάβει προμήθεια χωρίς επιπλέον κόστος για εσάς. Δεν επηρεάζει την ανεξαρτησία της αρθρογραφίας μας.
Παράλληλα, καλό είναι να εξεταστούν τα αρχεία καταγραφής για ασυνήθιστα αιτήματα mount, αποτυχημένες προσπάθειες φόρτωσης modules και επαναλαμβανόμενα σφάλματα στην αρχικοποίηση προβολών. Αν η υπηρεσία ήταν εκτεθειμένη στο Διαδίκτυο, οι διαχειριστές πρέπει να αξιολογήσουν πιθανή παραβίαση, να περιστρέψουν διαπιστευτήρια και να ελέγξουν τις εξαρτήσεις που φορτώθηκαν από την εφαρμογή.
Οι έλεγχοι θα πρέπει να καλύπτουν και τις εφαρμογές που χρησιμοποιούν SSE, όχι μόνο τις WebSocket συνδέσεις. Η κοινή λογική της ευπάθειας βρίσκεται στη διαδρομή φόρτωσης του view, επομένως ένα σύστημα μπορεί να παραμένει εκτεθειμένο ακόμη και όταν οι WebSocket θύρες δεν χρησιμοποιούνται από το εξωτερικό δίκτυο.
Δείτε επίσης: Google Pixel: Hackers εκμεταλλεύονται κρίσιμη ευπάθεια

Η CVE-2026-61599 djust δείχνει γιατί η πιστοποίηση χρήστη πρέπει να προηγείται κάθε δυναμικής εισαγωγής κώδικα. Η τεχνική ομάδα του SecNews συνιστά άμεση εγκατάσταση της έκδοσης 1.0.7, περιορισμό των επιτρεπόμενων modules και ενισχυμένη παρακολούθηση των WebSocket και SSE διαδρομών.
