Ένα exploit απόδειξης της ιδέας (PoC) κυκλοφόρησε δημόσια για το CVE-2025-38352, μια ευπάθεια συνθήκης αγώνα που επηρεάζει την υλοποίηση του χρονοδιακόπτη CPU POSIX του πυρήνα Linux.
Το ελάττωμα επιτρέπει στους εισβολείς να ενεργοποιούν συνθήκες χρήσης μετά την ελεύθερη χρήση στη μνήμη του πυρήνα, οδηγώντας δυνητικά σε κλιμάκωση των προνομίων και σε συμβιβασμό του συστήματος.
Το CVE-2025-38352 είναι μια συνθήκη κούρσας που εμφανίζεται στη συνάρτηση handle_posix_cpu_timers() του πυρήνα, η οποία επεξεργάζεται τα σήματα του χρονοδιακόπτη κατά τη διάρκεια των ticks του προγραμματιστή CPU.
Η ευπάθεια εκμεταλλεύεται ένα παράθυρο χρονισμού μεταξύ του πότε ο πυρήνας συλλέγει χρονοδιακόπτες πυροδότησης και τους επεξεργάζεται, επιτρέποντας στον εισβολέα να ελευθερώσει δομές χρονοδιακόπτη ενώ είναι ακόμη προσβάσιμες.
| Πεδίο | Αξία |
|---|---|
| Αναγνωριστικό CVE | CVE-2025-38352 |
| Τύπος ευπάθειας | Κατάσταση αγώνα χρήση-μετά-δωρεάν σε πυρήνα Linux χρονομετρητές CPU POSIX |
| Επηρεασμένο στοιχείο | handle_posix_cpu_timers() στην υλοποίηση του πυρήνα Linux POSIX CPU timers |
| Εκδόσεις που επηρεάζονται | Linux LTS 6.12.33 (και σχετικές ευάλωτες εκδόσεις, ειδικά πυρήνες Android 32-bit) |
| Σύγκρουση | Πιθανή κλιμάκωση τοπικών προνομίων μέσω καταστροφής της μνήμης πυρήνα |
Το ελάττωμα επηρεάζει συστήματα με απενεργοποιημένο το CONFIG_POSIX_CPU_TIMERS_TASK_WORK, καθιστώντας το ιδιαίτερα σχετικό με συσκευές Android 32 bit.
Η ευπάθεια απαιτεί συγκεκριμένες συνθήκες: πρέπει να επιτευχθεί μια κατάσταση διαδικασίας ζόμπι και απαιτείται ακριβής συντονισμός χρονισμού για να ενεργοποιηθεί η συνθήκη αγώνα.
Το PoC, που δημοσιεύτηκε στο GitHub από τον ερευνητή ασφάλειας Faraz Sth, δείχνει πώς ένας εισβολέας μπορεί να εκτελέσει τις ακόλουθες ενέργειες.
Δημιουργήστε ένα χρονόμετρο CPU POSIX που ενεργοποιείται μετά από ένα συγκεκριμένο χρονικό διάστημα CPU. Αναγκάστε ένα νήμα σε κατάσταση ζόμπι κατά τη διάρκεια κρίσιμων λειτουργιών του πυρήνα.
Αποκτήστε την εργασία ζόμπι ενώ η επεξεργασία του χρονοδιακόπτη είναι σε εξέλιξη. Διαγράψτε το χρονόμετρο μέσω του syscall timer_delete(), προκαλώντας πρόωρη κατανομή μνήμης.
Ενεργοποιήστε μια χρήση μετά τη δωρεάν όταν ο πυρήνας συνεχίσει να έχει πρόσβαση στο ελευθερωμένο χρονόμετρο. Όταν είναι επιτυχής, το exploit δημιουργεί προειδοποιήσεις απολύμανσης μνήμης KASAN που υποδεικνύουν λειτουργίες εγγραφής UAF στη συνάρτηση posix_timer_queue_signal().
Σε συστήματα που δεν ανήκουν στο KASAN, οι προειδοποιήσεις πυρήνα εμφανίζονται στη συνάρτηση send_sigqueue().
Σύμφωνα με Faith2dxy σύμφωνα με τις συμβουλές, αυτή η ευπάθεια έχει αξιοποιηθεί ενεργά σε περιορισμένες, στοχευμένες επιθέσεις.
Το ελάττωμα απαιτεί πρόσβαση στο τοπικό σύστημα και ακριβή χειρισμό χρονισμού, αλλά η επιτυχής εκμετάλλευση θα μπορούσε να δώσει στους εισβολείς αυξημένα προνόμια πυρήνα.
Οι ενημερώσεις κώδικα πυρήνα έχουν κυκλοφορήσει μέσω των σταθερών υποκαταστημάτων του πυρήνα του Linux. Οι χρήστες θα πρέπει να ενημερώσουν αμέσως τις επιδιορθωμένες εκδόσεις του πυρήνα.
Η επιδιόρθωση εμποδίζει τις διαδικασίες ζόμπι να εκτελέσουν τον κώδικα χειρισμού του χρονοδιακόπτη, εξαλείφοντας το παράθυρο αγώνα.
Συνιστάται στους διαχειριστές συστήματος να δίνουν προτεραιότητα στην ενημέρωση κώδικα, ιδιαίτερα για συσκευές Android και ενσωματωμένα συστήματα Linux που χρησιμοποιούν ευάλωτες εκδόσεις πυρήνα. Η δημόσια διαθεσιμότητα PoC επιταχύνει το χρονοδιάγραμμα κινδύνου για μη επιδιορθωμένα συστήματα.










