Ένα σοβαρό κενό ασφαλείας εντοπίστηκε στην εφαρμογή IPVanish VPN για macOS, επιτρέποντας σε οποιονδήποτε μη προνομιούχο τοπικό χρήστη να εκτελέσει αυθαίρετο κώδικα με δικαιώματα root χωρίς καμία αλληλεπίδραση από τον τελικό χρήστη. Η ανακάλυψη, που αποδίδεται στην εταιρεία ερευνών ασφαλείας SecureLayer7, αποκαλύπτει μια αλυσίδα αδυναμιών που παρακάμπτουν κρίσιμους μηχανισμούς προστασίας του macOS, συμπεριλαμβανομένης της επαλήθευσης υπογραφής κώδικα.

Σύμφωνα με την τεχνική ανάλυση, η εκμετάλλευσή της μπορεί να οδηγήσει σε πλήρη έλεγχο του συστήματος, θέτοντας σε κίνδυνο δεδομένα, διαπιστευτήρια και τη συνολική ακεραιότητα της συσκευής.
IPVanish VPN για macOS: Πώς λειτουργεί η αλυσίδα επίθεσης
Η ρίζα του προβλήματος εντοπίζεται στον αρχιτεκτονικό σχεδιασμό της εφαρμογής για macOS. Το IPVanish διαχωρίζει τις λειτουργίες του μεταξύ ενός user-space bundle και ενός privileged helper tool, με όνομα com.ipvanish.osx.vpnhelper, το οποίο εκτελείται με δικαιώματα root.
Δείτε επίσης: Ευπάθεια του VMware Aria Operations στον Κατάλογο KEV της CISA
Το κρίσιμο σφάλμα εμφανίζεται στον τρόπο που το βοηθητικό εργαλείο διαχειρίζεται τις XPC συνδέσεις. Συγκεκριμένα, δημιουργεί έναν XPC listener, αλλά αποτυγχάνει να επαληθεύσει connecting clients. Δεν ελέγχει το ενεργό user ID του καλούντος, δεν επιβεβαιώνει τα απαραίτητα δικαιώματα και δεν συγκρίνει το bundle identifier με κάποια allowlist.
Αυτή η παράλειψη επιτρέπει σε οποιαδήποτε τοπική διεργασία να αποστείλει κατασκευασμένα XPC μηνύματα απευθείας στον privileged helper. Με απλά λόγια, οποιοδήποτε πρόγραμμα που εκτελείται στο σύστημα μπορεί να “μιλήσει” με το root εργαλείο σαν να ήταν η νόμιμη εφαρμογή.

Δύο κρίσιμα ελαττώματα που οδηγούν σε εκτέλεση ως root
Η έρευνα της SecureLayer7 αναδεικνύει δύο βασικά σημεία εκμετάλλευσης. Το πρώτο αφορά την παράμετρο OpenVPNPath, η οποία γίνεται αποδεκτή χωρίς επικύρωση και προωθείται απευθείας σε μηχανισμό εκτέλεσης διεργασιών (GCDTask). Χωρίς έλεγχο διαδρομής ή επαλήθευση υπογραφής, ο επιτιθέμενος μπορεί να καθορίσει δικό του κακόβουλο αρχείο προς εκτέλεση με δικαιώματα root.
Το δεύτερο πρόβλημα εντοπίζεται στη μέθοδο copyHelperTool:error:, όπου ένα logic error επιτρέπει την παράκαμψη του code signature verification για non-executable files. Έτσι, ένας επιτιθέμενος μπορεί να παρέχει ένα μη υπογεγραμμένο, μη εκτελέσιμο script. Το βοηθητικό εργαλείο το αντιγράφει σε root-owned directory και στη συνέχεια τροποποιεί τα δικαιώματα ώστε να το καταστήσει εκτελέσιμο.
Δείτε επίσης: Ευπάθεια στο MS-Agent επιτρέπει πλήρη παραβίαση συστήματος
Το αποτέλεσμα είναι μια δευτερεύουσα οδός επίθεσης μέσω του μηχανισμού –up hook του OpenVPN, μετατρέποντας ένα απλό script σε όχημα πλήρους παραβίασης του συστήματος.
Παράκαμψη βασικών μηχανισμών του macOS
Η σοβαρότητα της ευπάθειας εντείνεται από το γεγονός ότι παρακάμπτονται κρίσιμες λειτουργίες ασφαλείας του macOS, όπως ο έλεγχος υπογραφής κώδικα. Σε ένα οικοσύστημα όπου η Apple βασίζεται σε ισχυρή επιβολή πολιτικών υπογραφής και sandboxing, η ύπαρξη τέτοιου κενού σε εφαρμογή VPN –που θεωρητικά ενισχύει την ασφάλεια– δημιουργεί έντονο προβληματισμό.
Τα VPN εργαλεία λειτουργούν συχνά με αυξημένα δικαιώματα λόγω της ανάγκης διαχείρισης δικτυακών ρυθμίσεων και tunnels. Αυτό σημαίνει ότι οποιαδήποτε αστοχία στον διαχωρισμό δικαιωμάτων μπορεί να έχει δυσανάλογα μεγάλες επιπτώσεις.

Μέτρα προστασίας και αναγκαίες διορθώσεις
Σύμφωνα με τη SecureLayer7, η πιο επείγουσα ενέργεια είναι η εφαρμογή αυστηρού caller authentication στο επίπεδο του XPC handler. Το βοηθητικό εργαλείο πρέπει να εξάγει το audit token από τη σύνδεση, να δημιουργεί security task και να επικυρώνει τόσο το bundle identifier όσο και το group identifier της εφαρμογής που επιχειρεί τη σύνδεση.
Δείτε επίσης: Ευπάθεια στο Chrome: Κακόβουλες Επεκτάσεις και Gemini Panel
Επιπλέον, η λογική επαλήθευσης υπογραφής κώδικα οφείλει να αναθεωρηθεί ριζικά. Ο έλεγχος δεν μπορεί να περιορίζεται σε αρχεία που είναι ήδη εκτελέσιμα. Κάθε αρχείο που αντιγράφεται ή διαχειρίζεται το helper tool πρέπει να υποβάλλεται σε υποχρεωτική επαλήθευση υπογραφής, ανεξαρτήτως της τρέχουσας κατάστασης δικαιωμάτων του.
Τέλος, απαιτείται strict path allowlisting και περιορισμός επεξεργασίας μόνο σε αρχεία που προέρχονται από επίσημους πόρους της εφαρμογής. Η υπόθεση αυτή αναδεικνύει ότι ακόμη και εργαλεία που σχεδιάστηκαν για προστασία μπορούν να μετατραπούν σε αδύναμο κρίκο όταν ο διαχωρισμός δικαιωμάτων δεν υλοποιείται με απόλυτη αυστηρότητα.
