Η ενημερωμένη έκδοση iOS 18.4 εισάγει κρίσιμο σφάλμα
secnews.gr
IT Security News, Gadgets, Tweaks for Geeks and More
Η ενημερωμένη έκδοση iOS 18.4 εισάγει κρίσιμο σφάλμα
https://www.secnews.gr/646063/enimeromeni-ekdosi-ios-18-4-eisagei-krisimo-sfalma/
Apr 11th 2025, 13:44
by Absenta Mia
Η τελευταία ενημέρωση iOS 18.4 της Apple έχει φέρει στο φως ένα σημαντικό σφάλμα που επηρεάζει την δυναμική ανάλυση συμβόλων σε συσκευές που υποστηρίζουν το Pointer Authentication Code (PAC).
Δείτε επίσης: iOS 18.4 – Apple Intelligence: Πώς να ενεργοποιήσετε τα Priority Notifications;
Αυτό το ζήτημα, το οποίο παρατήρησε πρώτος ο Fabien Perigaud, γνωστός ειδικός στην αντίστροφη μηχανική, έχει συνέπειες για τις εφαρμογές που βασίζονται στη δυναμική φόρτωση βιβλιοθηκών και στην ανάλυση συμβόλων.
Το σφάλμα εκδηλώνεται όταν οι εφαρμογές προσπαθούν να αναλύσουν συμβόλα χρησιμοποιώντας τη δυναμική συνάρτηση dlsym(), ιδιαίτερα σε συσκευές που διαθέτουν το A15 SoC, όπως το iPhone SE τρίτης γενιάς.
Το σφάλμα προκύπτει λόγω μιας παράλειψης στην υλοποίηση της dlsym() μέσα στο dyld στην iOS 18.4, όπου ορισμένα σύμβολα, όπως το strcmp, είναι λανθασμένα υπογεγραμμένα ή μη υπογεγραμμένα, με αποτέλεσμα κατάρρευση των εφαρμογών.
Όταν μια εφαρμογή χρησιμοποιεί τη συνάρτηση dlsym() για να επιλύσει σύμβολα όπως το strcmp, τα οποία επαναεξάγονται από το libsystem_platform.dylib με μια ειδική σημαία (EXPORT_SYMBOL_FLAGS_STUB_AND_RESOLVER), ο δείκτης συνάρτησης που επιστρέφεται θα έπρεπε να έχει αφαιρεθεί η υπογραφή PAC πριν μετατραπεί σε offset.
Ωστόσο, στην έκδοση iOS 18.4, αυτή η αφαίρεση δεν πραγματοποιείται, με αποτέλεσμα ο δείκτης να υπογράφεται δύο φορές. Αυτή η διπλή υπογραφή οδηγεί είτε σε μια μη έγκυρη υπογραφή είτε σε έναν μη υπογεγραμμένο δείκτη, προκαλώντας την κατάρρευση της εφαρμογής λόγω αποτυχίας προστασίας του πυρήνα.
Δείτε ακόμα: Η ενημέρωση iOS 18.4 προκάλεσε προβλήματα στο CarPlay
Η έρευνα του Perigaud από την Synacktiv αποκάλυψε ότι το πρόβλημα προέρχεται από την απουσία της εντολής XPACI στον κώδικα dyld, η οποία είναι υπεύθυνη για την αφαίρεση της υπογραφής PAC από τον δείκτη που επιστρέφεται από τη συνάρτηση resolver.
Η ενημερωμένη έκδοση iOS 18.4 εισάγει κρίσιμο σφάλμα
Αυτή η εντολή υπήρχε στην προηγούμενη έκδοση, iOS 18.3.2, αλλά η απουσία της στην iOS 18.4 οδηγεί στη συμπεριφορά που παρατηρείται. Περαιτέρω πειράματα επιβεβαίωσαν ότι ο δείκτης αντιμετωπιζόταν ως δείκτης πυρήνα κατά τη διάρκεια της δεύτερης διαδικασίας υπογραφής, κάτι που αντιβαίνει στις προδιαγραφές της αρχιτεκτονικής ARMv8.6-A.
Αυτή η λανθασμένη ερμηνεία έχει ως αποτέλεσμα ο δείκτης να υπογράφεται με όλα τα ανώτερα bits να είναι ρυθμισμένα σε 1, γεγονός που, όταν διασπαστεί με τον αρχικό δείκτη, ακυρώνει την πρώτη υπογραφή ή παράγει μια λανθασμένη.
Αυτό το σφάλμα έχει σημαντικές συνέπειες για τους προγραμματιστές, ιδιαίτερα εκείνους που εργάζονται σε εφαρμογές που φορτώνουν δυναμικά βιβλιοθήκες ή χρησιμοποιούν συστημικές συναρτήσεις μέσω του dlsym().
Δείτε επίσης: Το iOS 18.4 φέρνει αναβάθμιση του Apple Maps στο iPhone
Αν και δεν καταρρέουν όλες οι εφαρμογές λόγω αυτού του ζητήματος, αυτές που το κάνουν αντιμετωπίζουν σοβαρά προβλήματα σταθερότητας. Οι προγραμματιστές έχουν βρει προσωρινές λύσεις με το να αφαιρούν και να ξαναυπογράφουν χειροκίνητα τους δείκτες, αλλά αυτή δεν είναι μια βιώσιμη λύση.
Πηγή: cybersecuritynews
You are receiving this email because you subscribed to this feed at https://blogtrottr.com
If you no longer wish to receive these emails, you can unsubscribe here:
https://blogtrottr.com/unsubscribe/nfz/3xfHTz
IT Security News, Gadgets, Tweaks for Geeks and More
Η ενημερωμένη έκδοση iOS 18.4 εισάγει κρίσιμο σφάλμα
https://www.secnews.gr/646063/enimeromeni-ekdosi-ios-18-4-eisagei-krisimo-sfalma/
Apr 11th 2025, 13:44
by Absenta Mia
Η τελευταία ενημέρωση iOS 18.4 της Apple έχει φέρει στο φως ένα σημαντικό σφάλμα που επηρεάζει την δυναμική ανάλυση συμβόλων σε συσκευές που υποστηρίζουν το Pointer Authentication Code (PAC).
Δείτε επίσης: iOS 18.4 – Apple Intelligence: Πώς να ενεργοποιήσετε τα Priority Notifications;
Αυτό το ζήτημα, το οποίο παρατήρησε πρώτος ο Fabien Perigaud, γνωστός ειδικός στην αντίστροφη μηχανική, έχει συνέπειες για τις εφαρμογές που βασίζονται στη δυναμική φόρτωση βιβλιοθηκών και στην ανάλυση συμβόλων.
Το σφάλμα εκδηλώνεται όταν οι εφαρμογές προσπαθούν να αναλύσουν συμβόλα χρησιμοποιώντας τη δυναμική συνάρτηση dlsym(), ιδιαίτερα σε συσκευές που διαθέτουν το A15 SoC, όπως το iPhone SE τρίτης γενιάς.
Το σφάλμα προκύπτει λόγω μιας παράλειψης στην υλοποίηση της dlsym() μέσα στο dyld στην iOS 18.4, όπου ορισμένα σύμβολα, όπως το strcmp, είναι λανθασμένα υπογεγραμμένα ή μη υπογεγραμμένα, με αποτέλεσμα κατάρρευση των εφαρμογών.
Όταν μια εφαρμογή χρησιμοποιεί τη συνάρτηση dlsym() για να επιλύσει σύμβολα όπως το strcmp, τα οποία επαναεξάγονται από το libsystem_platform.dylib με μια ειδική σημαία (EXPORT_SYMBOL_FLAGS_STUB_AND_RESOLVER), ο δείκτης συνάρτησης που επιστρέφεται θα έπρεπε να έχει αφαιρεθεί η υπογραφή PAC πριν μετατραπεί σε offset.
Ωστόσο, στην έκδοση iOS 18.4, αυτή η αφαίρεση δεν πραγματοποιείται, με αποτέλεσμα ο δείκτης να υπογράφεται δύο φορές. Αυτή η διπλή υπογραφή οδηγεί είτε σε μια μη έγκυρη υπογραφή είτε σε έναν μη υπογεγραμμένο δείκτη, προκαλώντας την κατάρρευση της εφαρμογής λόγω αποτυχίας προστασίας του πυρήνα.
Δείτε ακόμα: Η ενημέρωση iOS 18.4 προκάλεσε προβλήματα στο CarPlay
Η έρευνα του Perigaud από την Synacktiv αποκάλυψε ότι το πρόβλημα προέρχεται από την απουσία της εντολής XPACI στον κώδικα dyld, η οποία είναι υπεύθυνη για την αφαίρεση της υπογραφής PAC από τον δείκτη που επιστρέφεται από τη συνάρτηση resolver.
Η ενημερωμένη έκδοση iOS 18.4 εισάγει κρίσιμο σφάλμα
Αυτή η εντολή υπήρχε στην προηγούμενη έκδοση, iOS 18.3.2, αλλά η απουσία της στην iOS 18.4 οδηγεί στη συμπεριφορά που παρατηρείται. Περαιτέρω πειράματα επιβεβαίωσαν ότι ο δείκτης αντιμετωπιζόταν ως δείκτης πυρήνα κατά τη διάρκεια της δεύτερης διαδικασίας υπογραφής, κάτι που αντιβαίνει στις προδιαγραφές της αρχιτεκτονικής ARMv8.6-A.
Αυτή η λανθασμένη ερμηνεία έχει ως αποτέλεσμα ο δείκτης να υπογράφεται με όλα τα ανώτερα bits να είναι ρυθμισμένα σε 1, γεγονός που, όταν διασπαστεί με τον αρχικό δείκτη, ακυρώνει την πρώτη υπογραφή ή παράγει μια λανθασμένη.
Αυτό το σφάλμα έχει σημαντικές συνέπειες για τους προγραμματιστές, ιδιαίτερα εκείνους που εργάζονται σε εφαρμογές που φορτώνουν δυναμικά βιβλιοθήκες ή χρησιμοποιούν συστημικές συναρτήσεις μέσω του dlsym().
Δείτε επίσης: Το iOS 18.4 φέρνει αναβάθμιση του Apple Maps στο iPhone
Αν και δεν καταρρέουν όλες οι εφαρμογές λόγω αυτού του ζητήματος, αυτές που το κάνουν αντιμετωπίζουν σοβαρά προβλήματα σταθερότητας. Οι προγραμματιστές έχουν βρει προσωρινές λύσεις με το να αφαιρούν και να ξαναυπογράφουν χειροκίνητα τους δείκτες, αλλά αυτή δεν είναι μια βιώσιμη λύση.
Πηγή: cybersecuritynews
You are receiving this email because you subscribed to this feed at https://blogtrottr.com
If you no longer wish to receive these emails, you can unsubscribe here:
https://blogtrottr.com/unsubscribe/nfz/3xfHTz
Σχόλια