Linux 7.2 προχωρά στην απόσυρση του AF_ALG λόγω «τεράστιας επιφάνειας επίθεσης»
Τι είναι το AF_ALG και γιατί αποσύρεται τώρα
Το AF_ALG είναι το socket interface του πυρήνα Linux για κρυπτογραφικές λειτουργίες χώρου χρήστη· επιτρέπει σε εφαρμογές να εκτελούν συμμετρική κρυπτογράφηση, κατακερματισμό και πιστοποιημένη κρυπτογράφηση χωρίς να υλοποιούν οι ίδιες κρυπτογραφικές πρωτόγονες συναρτήσεις. Στην πράξη, ελάχιστα προγράμματα το χρησιμοποιούν άμεσα — ενώ οι βασικές υπηρεσίες του συστήματος όπως dm-crypt/LUKS, kTLS, IPsec/XFRM, OpenSSL, GnuTLS και SSH δεν εξαρτώνται από το AF_ALG και δεν επηρεάζονται από την κατάργησή του.
Ο Eric Biggers, μηχανικός που υπογράφει το σχετικό patch στο «cryptodev» tree του πυρήνα, αιτιολογεί την κατάργηση με ξεκάθαρο τρόπο: «Το AF_ALG είναι σχεδόν εντελώς περιττό, και εκθέτει μια τεράστια επιφάνεια επίθεσης που δεν αντέχει στα σύγχρονα εργαλεία ανακάλυψης ευπαθειών». Η προσπάθεια που καταβάλλεται για τη συντήρησή του είναι δυσανάλογα μεγάλη σε σχέση με τα ελάχιστα προγράμματα που το χρησιμοποιούν, και εκείνα τα προγράμματα θα εξυπηρετούνταν καλύτερα από κώδικα στο χώρο χρήστη.
Copy Fail (CVE-2026-31431): Η ευπάθεια που έκλεισε τη συζήτηση
Το CVE-2026-31431, γνωστό ως «Copy Fail», είναι ευπάθεια στον πυρήνα Linux που επιτρέπει μη εξουσιοδοτημένη κλιμάκωση δικαιωμάτων. Αποκαλύφθηκε δημόσια στις 29 Απριλίου 2026 από την εταιρεία ασφαλείας Theori, ενώ η ιδιωτική γνωστοποίηση στην ομάδα ασφαλείας του πυρήνα έγινε πέντε εβδομάδες νωρίτερα.
Η ευπάθεια εντοπίστηκε σε περίπου μία ώρα μέσω διαδικασίας υποβοηθούμενης από AI. Πρόκειται για ντετερμινιστικό λογικό σφάλμα, που δεν εξαρτάται από συνθήκες αγώνα ή συγκεκριμένες μετατοπίσεις του πυρήνα — ένα μόνο Python script 732 bytes μπορεί να το εκμεταλλευτεί επιτυχώς χωρίς τροποποίηση σε διαφορετικές διανομές Linux.
Το σφάλμα εισήχθη το 2017 μέσω του commit 72548b093ee3, που μετέτρεψε τις λειτουργίες AEAD σε επεξεργασία in-place. Συνδυάζοντας μια λειτουργία AF_ALG socket με splice(), ένας τοπικός χρήστης χωρίς δικαιώματα μπορεί να εκτελέσει μια ελεγχόμενη εγγραφή 4 bytes σε αυθαίρετη σελίδα της κρυφής μνήμης σελίδων, στοχεύοντας ένα setuid binary όπως το /usr/bin/su για να αποκτήσει κέλυφος root.
Η ευπάθεια επηρεάζει εκατομμύρια συστήματα με κύριες διανομές όπως Ubuntu, Amazon Linux, Red Hat Enterprise Linux, Debian, SUSE και AlmaLinux. Τρωτά είναι πυρήνες Linux από την έκδοση 4.14 έως 7.0-rc, καθώς και όλες οι εκδόσεις 6.18.x πριν από την 6.18.22 και 6.19.x πριν από την 6.19.12.
Τι αφαιρείται στο Linux 7.2
Παράλληλα με την επίσημη κατάργηση, το Linux 7.2 προχωρά σε δύο συγκεκριμένες αφαιρέσεις λειτουργικότητας. Η υποστήριξη zero-copy του AF_ALG αφαιρείται λόγω των σχετικών ζητημάτων ασφαλείας. Επίσης, αφαιρείται η υποστήριξη κρυπτογράφησης εκτός CPU, δηλαδή η δυνατότητα ανάθεσης λειτουργιών σε εξωτερικούς hardware επιταχυντές μέσω AF_ALG, καθώς κρίθηκε υπερβολικά επικίνδυνη για χρήση μέσω του AF_ALG.
Στο patch που τεκμηριώνει αυτή την αλλαγή αναφέρεται ότι η αφαίρεση εξαλείφει ένα από τα βασικά πλεονεκτήματα του AF_ALG — τη χρήση εξωτερικών επιταχυντών — αλλά η χρήση τους συνεπαγόταν υπερβολική επιβάρυνση τόσο σε επιδόσεις όσο και σε επιφάνεια επίθεσης, χωρίς πραγματικό κέρδος σε κρίσιμα φορτία εργασίας. Αν κάποια μελλοντική χρήση επιταχυντή αποδειχθεί αναγκαία, θα πρέπει να αναπτυχθεί νέο API.
AI ως εργαλείο εντοπισμού ευπαθειών: νέα πραγματικότητα για τον πυρήνα
Η υπόθεση AF_ALG αναδεικνύει μια ευρύτερη τάση: τα εργαλεία AI επιταχύνουν δραματικά τον ρυθμό ανακάλυψης ευπαθειών στον πυρήνα Linux. Το Copy Fail ανακαλύφθηκε από τον Taeyang Lee της Theori με τη βοήθεια του AI-based εργαλείου στατικής ανάλυσης κώδικα Xint Code, κατά τη διάρκεια ανάλυσης του κρυπτογραφικού υποσυστήματος του πυρήνα. Ο Biggers επισημαίνει στο patch κατάργησης ότι τα LLM έχουν επιταχύνει τον ρυθμό εισροής νέων ευπαθειών σε μη βιώσιμο επίπεδο.
Το παράθυρο ενσωμάτωσης αλλαγών του Linux 7.2 αναμένεται να ανοίξει στα μέσα Ιουνίου, με πολλές αλλαγές — τόσο νέα χαρακτηριστικά πυρήνα όσο και περαιτέρω αντιμετώπιση των ευπαθειών που εντοπίζονται μέσω AI/LLM εργαλείων.
Πηγές
145
