- Το CVE-2026-46333 («ssh-keysign-pwn») επιτρέπει σε μη προνομιούχο τοπικό χρήστη να διαβάσει αρχεία αποκλειστικά του root — συμπεριλαμβανομένων SSH κλειδιών και του
/etc/shadow— μέσω συνθήκης race condition στη συνάρτηση__ptrace_may_access()του πυρήνα. - Η ευπάθεια υπάρχει στον κώδικα εδώ και έξι χρόνια, επηρεάζει σειρές LTS kernel από 5.10 και άνω, και δημόσιο proof-of-concept κυκλοφόρησε ήδη στο GitHub — το upstream fix (commit 31e62c2ebbfd) έφτασε την ίδια μέρα της αποκάλυψης.
- Είναι η τέταρτη σοβαρή ευπάθεια πυρήνα Linux σε τρεις εβδομάδες (μετά τα Copy Fail, Dirty Frag, Fragnesia) — οι προηγούμενες μετριάσεις δεν καλύπτουν αυτή, απαιτείται ξεχωριστό patch.
Η Qualys Threat Research Unit ανακοίνωσε στις 14 Μαΐου 2026 ένα νέο κενό ασφαλείας στον πυρήνα Linux, το οποίο επιτρέπει σε οποιονδήποτε μη προνομιούχο τοπικό χρήστη να διαβάσει αρχεία που ανήκουν στον root — συμπεριλαμβανομένων των ιδιωτικών SSH κλειδιών του server και των περιεχομένων του /etc/shadow. Η ευπάθεια επηρεάζει πολλές σειρές LTS kernel από την έκδοση 5.10 και άνω, αν και το fix έχει ήδη ενσωματωθεί.
Πώς λειτουργεί η ευπάθεια
Το πρόβλημα εντοπίζεται στη λογική ελέγχου πρόσβασης μέσω ptrace του πυρήνα, και συγκεκριμένα στη συνάρτηση __ptrace_may_access(), η οποία είναι υπεύθυνη για τον περιορισμό της αλληλεπίδρασης μεταξύ διεργασιών. Ένα λογικό σφάλμα που συνδέεται με τον έλεγχο «dumpability» δημιουργεί μια επικίνδυνη συνθήκη race condition.
Όταν μια προνομιούχα διεργασία — όπως το ssh-keysign ή το chage — τερματίζει, υπάρχει ένα σύντομο παράθυρο κατά το οποίο το περιβάλλον μνήμης της έχει ήδη εκκαθαριστεί (mm = NULL) αλλά οι ανοιχτοί file descriptors της εξακολουθούν να υπάρχουν. Σε αυτό το κενό, ένας μη προνομιούχος εισβολέας μπορεί να εκμεταλλευτεί την ευπάθεια μέσω του pidfd_getfd() για να «κλέψει» αυτούς τους file descriptors.
Στόχος είναι τα SUID binaries που ανοίγνουν αρχεία αποκλειστικά του root κατά τη διάρκεια της κανονικής διαδικασίας εξόδου τους — κυρίως το ssh-keysign (που διαβάζει τα SSH host private keys) και το chage (που διαβάζει τη βάση δεδομένων shadow password). Το race condition ενεργοποιείται κατά την κανονική έξοδο αυτών των binaries, οπότε δεν απαιτείται ειδική ρύθμιση από την πλευρά του προνομιούχου.
Σύμφωνα με δημόσια ανάλυση, το exploit επιτυγχάνει συνήθως μέσα σε 100–2.000 προσπάθειες, καθιστώντας το πρακτικό σε πραγματικά συστήματα. Υπενθυμίζεται ότι η ευπάθεια έχει ηλικία έξι χρόνων — εντοπίστηκε αρχικά σε πρόταση patch του 2020 από τον Jann Horn, η οποία δεν ενσωματώθηκε ποτέ.
Τέταρτη ευπάθεια σε τρεις εβδομάδες — και οι προηγούμενες μετριάσεις δεν αρκούν
Πρόκειται για την τέταρτη ευπάθεια πυρήνα Linux που απαιτεί άμεση αντιμετώπιση σε τρεις εβδομάδες, μετά το Copy Fail (29 Απριλίου), το Dirty Frag (7 Μαΐου) και το Fragnesia (13 Μαΐου).
Τα Copy Fail, Dirty Frag και Fragnesia μοιράζονταν ένα κοινό μοτίβο: εγγραφή bytes υπό τον έλεγχο του εισβολέα στην κρυφή μνήμη σελίδας του πυρήνα, τροποποίηση ενός προνομιούχου binary στη μνήμη και εκτέλεσή του για άμεσο root. Οι μετριάσεις για εκείνες τις τρεις ευπάθειες αφορούν blacklisting module (esp4, esp6, algif_aead, rxrpc, ipcomp4, ipcomp6) και εκκαθάριση κρυφής μνήμης σελίδας.
Το CVE-2026-46333 δεν ακολουθεί αυτό το μοτίβο: δεν γράφει τίποτα πουθενά, κάνει race condition κατά την έξοδο διεργασίας και διαβάζει file descriptors από μια διεργασία που τερματίζει. Η κρυφή μνήμη σελίδας δεν εμπλέκεται, ούτε τα ESP, XFRM, rxrpc ή algif_aead. Αυτό σημαίνει ότι οι υπάρχουσες μετριάσεις δεν προστατεύουν από το CVE-2026-46333.
Patch και διαθέσιμες εκδόσεις kernel
Ο Linus Torvalds ενσωμάτωσε το upstream fix (commit 31e62c2ebbfd) την ίδια μέρα που αποκαλύφθηκε η ευπάθεια. Σύμφωνα με το LWN, οι εκδόσεις stable kernel 7.0.8, 6.18.31, 6.12.89, 6.6.139, 6.1.173, 5.15.207 και 5.10.256 ανακοινώθηκαν με patches για το CVE-2026-46333. Το kernel.org ανέφερε επίσης τις εκδόσεις 7.0.8 και αρκετές longterm releases με ημερομηνία 15 Μαΐου 2026.
Για το AlmaLinux, τα patched kernels κυκλοφόρησαν στα production repositories/mirrors από τις 16 Μαΐου 2026 στις 15:05 UTC. Δεν χρειάζεται πλέον ενεργοποίηση του testing repo για να τα λάβετε. Το CloudLinux 8 LTS, CloudLinux 9 και CloudLinux 10 επηρεάζονται από το δημόσιο proof-of-concept.
Άμεσες ενέργειες για τους διαχειριστές
Η ευπάθεια χαρακτηρίζεται υψηλής προτεραιότητας για τέσσερις λόγους: μπορεί να ενεργοποιηθεί από μη προνομιούχο τοπικό χρήστη χωρίς root, δημόσιος κώδικας εκμετάλλευσης είναι ήδη διαθέσιμος, μειώνοντας το εμπόδιο για επίθεση, και οι πιθανοί στόχοι δεν είναι κοινά αρχεία, αλλά SSH host private keys και το /etc/shadow.
Ως άμεση μετρίαση, όταν δεν είναι δυνατή η εφαρμογή του patch, ο ορισμός ptrace_scope=2 ή ptrace_scope=3 μπορεί να χρησιμοποιηθεί ως προσωρινή μετρίαση, χωρίς να υποκαθιστά την εφαρμογή patch. Ακόμα, αν η μετρίαση μέσω ptrace_scope δεν είναι εφαρμόσιμη και δεν υπάρχει άλλη προστασία, η αφαίρεση του SUID bit από τα ssh-keysign και chage καλύπτει τα binaries που χρησιμοποιεί το δημοσιευμένο proof-of-concept, αν και δεν καλύπτει εξαντλητικά την κλάση της ευπάθειας.
Δεδομένου ότι η ευπάθεια υπήρχε ως λανθάνουσα εδώ και έξι χρόνια και το δημόσιο proof-of-concept εμφανίστηκε στις 14 Μαΐου 2026, είναι πιθανό να ήταν γνωστή ιδιωτικά σε κάποιους εισβολείς νωρίτερα. Για servers που εκτίθενται στο διαδίκτυο με shell πρόσβαση για μη έμπιστους χρήστες, η συντηρητική στάση είναι να θεωρούνται τα SSH host keys και το αρχείο shadow ως δυνητικά παραβιασμένα. Ως εκ τούτου, συνιστάται άμεση εναλλαγή των SSH host keys, επανεκκίνηση του sshd και αποδοχή ότι οι επιστρέφοντες SSH clients θα δουν προειδοποίηση αλλαγής host key μέχρι να ενημερωθεί το known_hosts τους.
ModuleJail: μια προληπτική απάντηση
Παράλληλα με τη διαχείριση της ευπάθειας, εμφανίστηκε μια αξιοσημείωτη πρόταση για μακροπρόθεσμη μείωση της επιφάνειας επίθεσης. Ο Jasper Nuyens, διαχειριστής Linux server από το Βέλγιο, αποφάσισε ότι το χειροκίνητο blacklisting δεκάδων modules σε μεγάλους στόλους server δεν ήταν βιώσιμο. Η απάντησή του είναι το ModuleJail — ένα shell script με άδεια GPLv3 που σαρώνει ένα live σύστημα και δημιουργεί αυτόματα ένα ενιαίο αρχείο κανόνων blacklist για το modprobe, χωρίς να απαιτεί επανεκκίνηση.
Το ModuleJail καταγράφει το σύνολο των φορτωμένων modules (/proc/modules) και υπολογίζει το σύνολο αυτών που δεν χρησιμοποιούνται από το πλήρες δέντρο modules. Κάθε module στο σύνολο αυτό — εκτός από μια βασική κατηγορία απαραίτητων modules — μπαίνει σε blacklist.
Ένα συνοδευτικό script, το cve-watch.sh, παρακολουθεί τη λίστα αλληλογραφίας linux-cve-announce και το NVD REST API για ευπάθειες σε οποιοδήποτε module δεν έχει ακόμη μπει σε blacklist. Δεδομένου ότι τα CVE identifiers γίνονται συνήθως δημόσια πριν φτάσουν τα patches των διανομών, αυτό επιτρέπει στους διαχειριστές να αποκλείσουν ένα ευπαθές module μέσα σε ώρες από την αποκάλυψη.
Το ModuleJail είναι συμβατό με τις κύριες διανομές, συμπεριλαμβανομένων των Debian, Ubuntu, RHEL, Fedora, AlmaLinux και Arch Linux, δημιουργώντας ένα αρχείο κανόνων blacklist για το modprobe διατηρώντας παράλληλα τα modules που χρησιμοποιούνται κανονικά.
Στο ευρύτερο πλαίσιο, ο Linus Torvalds δήλωσε ότι η λίστα αλληλογραφίας ασφαλείας του έργου έχει γίνει «σχεδόν εντελώς αδιαχείριστη» λόγω πολλών ερευνητών που χρησιμοποιούν AI για εύρεση σφαλμάτων και πλημμυρίζουν τη λίστα με διπλές αναφορές. Ο Nuyens υποστηρίζει ότι η αυξανόμενη ταχύτητα ανακάλυψης ευπαθειών με τη βοήθεια AI θα καταστήσει την σκλήρυνση του πυρήνα και τη μείωση της επιφάνειας επίθεσης πολύ μεγαλύτερη επιχειρησιακή προτεραιότητα για τους διαχειριστές τις επόμενες εβδομάδες και μήνες.
Πηγές
- The Register — Linux kernel flaw opens root-only files to unprivileged users
- NVD — CVE-2026-46333
- CloudLinux Blog — CVE-2026-46333 Mitigation and Kernel Update
- AlmaLinux — ssh-keysign-pwn (CVE-2026-46333) Patches Released
- CyberSecurityNews — Critical Linux Kernel Flaw 'ssh-keysign-pwn'
- GitHub — ModuleJail by Jasper Nuyens
- GitHub — ssh-keysign-pwn PoC

TheLab Weekly Digest
Recommended Comments
There are no comments to display.
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now