Ευπάθεια στην κλήση συστήματος execve που παρέχει πρόσβαση root στο FreeBSD

Ένα θέμα ευπάθειας (CVE-2026-7270) ανακαλύφθηκε στο FreeBSD που επιτρέπει σε έναν μη προνομιούχο χρήστη να εκτελέσει κώδικα πυρήνα και να αποκτήσει πρόσβαση root στο σύστημα. Το θέμα ευπάθειας επηρεάζει όλες τις εκδόσεις του FreeBSD που κυκλοφόρησαν από το 2013. Ένα exploit ήταν δημόσια διαθέσιμο και έχει δοκιμαστεί σε συστήματα που εκτελούν FreeBSD 11.0 έως 14.4. Το θέμα ευπάθειας διορθώθηκε στις εκδόσεις FreeBSD 15.0-RELEASE-p7, 14.4-RELEASE-p3, 14.3-RELEASE-p12 και 13.5-RELEASE-p13. Διατίθεται μια ενημέρωση κώδικα για παλαιότερες εκδόσεις.

Το πρόβλημα προκαλείται από υπερχείλιση buffer στην κλήση συστήματος execve. Αυτό συμβαίνει κατά την επεξεργασία του προθέματος που καθορίζεται στην πρώτη γραμμή των σεναρίων για τον προσδιορισμό της διαδρομής προς τον διερμηνέα (για παράδειγμα, "#!/bin/sh"). Η υπερχείλιση παρουσιάζεται κατά τη διάρκεια μιας κλήσης στη συνάρτηση memmove λόγω μιας εσφαλμένα κατασκευασμένης μαθηματικής έκφρασης για τον υπολογισμό του μεγέθους των ορισμάτων που αντιγράφονται στο buffer. Αντί να αφαιρεθούν οι τιμές "args->begin_argv" και "consume" από το "args->endp", μόνο η τιμή "args->begin_argv" αφαιρέθηκε από το "args->endp" και η μεταβλητή "consume" προστέθηκε στο αποτέλεσμα, αντί να αφαιρεθεί, δηλαδή, ως αποτέλεσμα, περισσότερα δεδομένα αντιγράφηκαν από δύο τιμές του "consume". memmove(args->begin_argv + extend, args->begin_argv + consume, - args->endp - args->begin_argv + consume); + ορίσματα->endp — (ορίσματα->begin_argv + κατανάλωση));

Η υπερχείλιση επιτρέπει την αντικατάσταση στοιχείων της δομής "exec_map" που έχουν εκχωρηθεί σε γειτονική μνήμη από μια άλλη διεργασία. Το exploit χρησιμοποιεί την υπερχείλιση για να αντικαταστήσει τα περιεχόμενα της δομής "exec_map" διεργασιών με δικαιώματα που εκκινούνται περιοδικά στο σύστημα. Η επιλεγμένη διεργασία είναι η sshd, η οποία, κάθε φορά που δημιουργείται μια σύνδεση δικτύου, διαχωρίζει και εκτελεί τη διεργασία "/usr/libexec/sshd-session" με δικαιώματα root.

Το exploit αντικαθιστά αυτήν τη διεργασία με τη μεταβλητή περιβάλλοντος "LD_PRELOAD=/tmp/evil.so", προκαλώντας τη φόρτωση της βιβλιοθήκης της στο περιβάλλον sshd-session. Η βιβλιοθήκη που έχει εισαχθεί δημιουργεί ένα εκτελέσιμο αρχείο με όνομα /tmp/rootsh στο σύστημα αρχείων με τη σημαία suid root. Το ποσοστό επιτυχίας του exploit εκτιμάται στο 0.6%, αλλά χάρη στην κυκλική επανάληψη, η επιτυχής εκμετάλλευση επιτυγχάνεται σε περίπου 6 δευτερόλεπτα σε ένα σύστημα με CPU 4 πυρήνων.

 Ευπάθεια στην κλήση συστήματος execve που παρέχει πρόσβαση root στο FreeBSD

Επιπλέον, έχουν διορθωθεί αρκετές ακόμη ευπάθειες στο FreeBSD:

  • Τα CVE-2026-35547 και CVE-2026-39457 είναι υπερχειλίσεις buffer στη βιβλιοθήκη libnv, η οποία χρησιμοποιείται στον πυρήνα και σε εφαρμογές βασικού συστήματος για την επεξεργασία λιστών κλειδιών/τιμών και τη διαχείριση της επικοινωνίας μεταξύ διεργασιών. Το πρώτο πρόβλημα προκαλείται από τον εσφαλμένο υπολογισμό του μεγέθους του μηνύματος κατά την επεξεργασία ειδικά κατασκευασμένων κεφαλίδων μηνυμάτων IPC. Το δεύτερο πρόβλημα έχει ως αποτέλεσμα υπερχείλιση στοίβας κατά την επικοινωνία socket λόγω έλλειψης ελέγχων για να διασφαλιστεί ότι το μέγεθος του περιγραφέα socket ταιριάζει με το μέγεθος του buffer που χρησιμοποιείται στη συνάρτηση select(). Αυτά τα τρωτά σημεία μπορούν ενδεχομένως να αξιοποιηθούν για την κλιμάκωση δικαιωμάτων.
  • Το CVE-2026-42512 είναι μια υπερχείλιση buffer που μπορεί να εκμεταλλευτεί εξ αποστάσεως στο dhclient λόγω εσφαλμένου υπολογισμού του μεγέθους ενός πίνακα δεικτών που χρησιμοποιείται για τη διαβίβαση μεταβλητών περιβάλλοντος στο dhclient-script. Είναι δυνατό να δημιουργήσετε ένα exploit για απομακρυσμένη εκτέλεση κώδικα στέλνοντας ένα ειδικά κατασκευασμένο πακέτο DHCP.
  • CVE-2026-7164 – Ένα θέμα ευπάθειας υπερχείλισης στοίβας στο φίλτρο πακέτων pf παρουσιάζεται κατά την επεξεργασία ειδικά κατασκευασμένων πακέτων SCTP. Το πρόβλημα προκαλείται από την απεριόριστη αναδρομική ανάλυση των παραμέτρων SCTP.
  • CVE-2026-42511 – Είναι δυνατή η εισαγωγή αυθαίρετων οδηγιών στο dhclient.conf λόγω ανεπαρκούς διαφυγής διπλών αγκυλών σε πεδία BOOTP που λαμβάνονται από εξωτερικό διακομιστή DHCP. Όταν η διεργασία dhclient αναλύσει στη συνέχεια αυτό το αρχείο, το καθορισμένο πεδίο του εισβολέα διαβιβάζεται στο dhclient-script, το οποίο μπορεί να χρησιμοποιηθεί για την εκτέλεση αυθαίρετων εντολών με δικαιώματα root σε συστήματα που εκτελούν το dhclient κατά την πρόσβαση σε έναν διακομιστή DHCP που ελέγχεται από τον εισβολέα.
  • CVE-2026-6386 — Ανεπαρκής χειρισμός μεγάλων σελίδων μνήμης στη συνάρτηση πυρήνα pmap_pkru_update_range(). Ένας χρήστης χωρίς δικαιώματα μπορεί να προκαλέσει την pmap_pkru_update_range() να αντιμετωπίσει τη μνήμη χώρου χρήστη ως σελίδα στον πίνακα σελίδων μνήμης, αντικαθιστώντας έτσι μια μη εξουσιοδοτημένη περιοχή μνήμης.
  • CVE-2026-5398 - Μια αναφορά σε μια προηγουμένως ελευθερωμένη περιοχή μνήμης στον χειριστή TIOCNOTTY επιτρέπει σε μια μη προνομιούχα διεργασία να αποκτήσει δικαιώματα root.

Πηγή: opennet.ru