Έχουν ανακαλυφθεί κρίσιμα ελαττώματα ασφαλείας στο Judge0, ένα open-source διαδικτυακό σύστημα εκτέλεσης κώδικα, τα οποία θα μπορούσαν να επιτρέψουν την εκτέλεση κώδικα εξ αποστάσεως στο σύστημα που στοχεύεται.

Τα τρία κρίσιμα ελαττώματα παρέχουν τη δυνατότητα σε έναν χάκερ με επαρκή πρόσβαση να παρακάμψει τα μέτρα ασφαλείας sandbox και να αποκτήσει δικαιώματα διαχειριστή στον κεντρικό υπολογιστή, όπως αναφέρει η Tanto Security, μια εταιρεία κυβερνοασφάλειας στην Αυστραλία, σε μια έκθεση που δημοσιεύθηκε σήμερα.

Διαβάστε ακόμα: Πώς οι χάκερς καταχρώνται τις λύσεις ασφαλείας EDR;

Το Judge0 (προφέρεται “judge zero”) παρουσιάζεται από τους δημιουργούς του ως ένα αξιόπιστο, ευέλικτο και open-source διαδικτυακό σύστημα για την εκτέλεση κώδικα, ιδανικό για ανάπτυξη εφαρμογών με ανάγκες διαδικτυακής εκτέλεσης κώδικα, όπως η αξιολόγηση υποψηφίων, η εκπαίδευση εξ αποστάσεως, οι διαδικτυακοί επεξεργαστές κώδικα και τα περιβάλλοντα ανάπτυξης (IDE).

Σύμφωνα με την ιστοσελίδα της, η εν λόγω υπηρεσία κατέχει μια πελατειακή βάση 23 χρηστών που περιλαμβάνει τις εταιρείες AlgoDaily, CodeChum και PYnative, μεταξύ άλλων και το έργο έχει διακοπεί 412 φορές στο GitHub μέχρι σήμερα.

Τα ελαττώματα που ανακαλύφθηκαν και αναφέρθηκαν από τον Daniel Cooper τον Μάρτιο του 2024, περιγράφονται παρακάτω –

CVE-2024-28185 (βαθμολογία CVSS: 10,0) – Η εφαρμογή αγνοεί τους συμβολικούς δεσμούς που τοποθετούνται εντός του φακέλου sandbox, ένα κενό που μπορεί να εκμεταλλευτεί ένας χάκερ για να πραγματοποιήσει εγγραφή σε τυχαία αρχεία και να επιτύχει την εκτέλεση κώδικα εκτός του περιβάλλοντος sandbox.

CVE-2024-28189 (βαθμολογία CVSS: 10,0) – Μια τεχνική παράκαμψης για την ενημέρωση του κώδικα σχετικά με το CVE-2024-28185 πραγματοποιείται μέσω της χρήσης της εντολής chown του UNIX σε ένα μη εμπιστευτικό αρχείο εντός ενός sandbox. Αυτό επιτρέπει σε χάκερς να δημιουργήσουν έναν συμβολικό σύνδεσμο προς ένα αρχείο εκτός του sandbox, παρέχοντας τη δυνατότητα εκτέλεσης της εντολής chown σε οποιοδήποτε αρχείο εκτός του περιορισμένου περιβάλλοντος, αυξάνοντας τον κίνδυνο ασφαλείας.

CVE-2024-29021 (βαθμολογία CVSS: 9.1) – Η προεπιλεγμένη ρύθμιση του Judge0 καθιστά την υπηρεσία ευάλωτη σε επιθέσεις διαφυγής από το sandbox μέσω Server-Side Request Forgery (SSRF). Αυτό δίνει τη δυνατότητα σε επιτιθέμενους που έχουν επαρκή πρόσβαση στο API του Judge0, να εκτελέσουν κώδικα ως root στο στοχευόμενο σύστημα χωρίς περιορισμούς περιβάλλοντος δοκιμών.

Το ζήτημα προέρχεται από ένα Ruby script με την ονομασία “isolate_job.rb”, το οποίο είναι χρησιμοποιημένο για τη δημιουργία ενός sandbox περιβάλλοντος. Αυτό το script είναι επίσης αρμόδιο για την εκτέλεση κώδικα και την καταγραφή των αποτελεσμάτων αυτής της διεργασίας.

Δείτε περισσότερα: Χάκερς από τη Βόρεια Κορέα ενσωματώνουν AI στις επιθέσεις τους

Συγκεκριμένα, αυτή η διαδικασία περιλαμβάνει τη δημιουργία ενός συμβολικού συνδέσμου μέσα στον κατάλογο, πριν από την προσαρμογή ενός bash script για την εκκίνηση του προγράμματος, ανάλογα με τη γλώσσα που έχει επιλεγεί. Αυτό επιτρέπει την εγγραφή σε οποιοδήποτε αρχείο του συστήματος, χωρίς περιβάλλον δοκιμών.

Ένας χάκερ θα μπορούσε να εκμεταλλευτεί αυτή την αδυναμία, ώστε να αλλάξει σενάρια εντός του συστήματος, επιτυγχάνοντας την εκτέλεση κώδικα εκτός του περιβάλλοντος sandbox και μέσα στο Docker container που διαχειρίζεται τη διαδικασία υποβολής.

Επιπρόσθετα, ο δράστης θα έχει τη δυνατότητα να επεκτείνει τα προνόμιά του πέρα από το περιβάλλον του Docker container, λόγω της χρήσης της προνομιακής λειτουργίας που ορίζεται στο αρχείο docker-compose.yml.

“Αυτή η τακτική επιτρέπει στον εισβολέα να ενσωματώσει το κύριο σύστημα αρχείων του Linux, δίνοντάς του τη δυνατότητα στη συνέχεια να δημιουργήσει αρχεία – όπως για παράδειγμα μια κακόβουλη διαδικασία cron – για να εξασφαλίσει την πρόσβασή του στο σύστημα,” σύμφωνα με τον Herman Došilović από το Judge0.

“Από αυτή το σημέιο, ο χάκερ κερδίζει πλήρη πρόσβαση στο σύστημα Judge0, καθιστώντας διαθέσιμα τα πάντα από τη βάση δεδομένων έως τα εσωτερικά δίκτυα, τον διακομιστή web Judge0, καθώς και οποιεσδήποτε άλλες εφαρμογές λειτουργούν στον κεντρικό υπολογιστή Linux.”

Το CVE-2024-29021 αφορά μια συγκεκριμένη ρύθμιση που επιτρέπει την επικοινωνία με τη βάση δεδομένων PostgreSQL του Judge0, η οποία είναι προσβάσιμη μέσω του εσωτερικού δικτύου Docker. Αυτό δίνει τη δυνατότητα στους χάκερς να χρησιμοποιήσουν SSRF για τη σύνδεση στη βάση δεδομένων, να τροποποιήσουν τον τύπο δεδομένων σε συγκεκριμένες στήλες και να εκτελέσουν εντολές.

Δείτε επίσης: Η Cisco αποκαλύπτει ελάττωμα root escalation στο IMC

Μετά την αποκάλυψη των ελλείψεων, η έκδοση 1.13.1, που ανακοινώθηκε στις 18 Απριλίου 2024, προσφέρει λύσεις σε αυτά τα προβλήματα, επομένως συνιστάται στους χρήστες του Judge0 να προχωρήσουν στην αναβάθμιση της πιο πρόσφατης έκδοσης.

Πηγή: thehackernews