FOXreport.gr

Ένα απλό τυπογραφικό λάθος οδήγησε σε κρίσιμο κενό ασφαλείας στο Firefox

Εικόνα: cdnglobal.secnews.gr

Ένα από τα πιο εντυπωσιακά περιστατικά κυβερνοασφάλειας του 2026 αφορά μια ευπάθεια απομακρυσμένης εκτέλεσης κώδικα (RCE) στον Mozilla Firefox, η οποία προκλήθηκε από την αντικατάσταση ενός μόνο χαρακτήρα. Συγκεκριμένα, ένας προγραμματιστής πληκτρολόγησε κατά λάθος το σύμβολο «&» (bitwise AND) αντί για το σωστό «|» (bitwise OR) στον κώδικα διαχείρισης μνήμης της μηχανής JavaScript SpiderMonkey.

Mozilla Firefox: Η τεχνική φύση του σφάλματος

Το λάθος εντοπίστηκε στο αρχείο WasmGcObject.cpp, κατά τη διάρκεια αναδιάρθρωσης του κώδικα για τη διαχείριση πινάκων WebAssembly. Λόγω της ευθυγράμμισης των δεικτών στη μνήμη, η πράξη bitwise AND με το 1 είχε ως αποτέλεσμα η τιμή να είναι πάντα μηδέν. Αυτό εμπόδιζε το σύστημα να θέσει σωστά το bit ένδειξης που διαχωρίζει τους εξωτερικούς πίνακες από τους εσωτερικούς.

Πώς η «εσωτερική» μνήμη οδήγησε σε πλήρη έλεγχο

Η εσφαλμένη σήμανση των πινάκων προκάλεσε σύγχυση στον συλλέκτη απορριμμάτων (Garbage Collector) του προγράμματος περιήγησης. Όταν ο Firefox προσπαθούσε να μετακινήσει δεδομένα στη μνήμη:

Αυτό δημιούργησε μια κατάσταση Use-After-Free (UAF), την οποία οι ερευνητές εκμεταλλεύτηκαν για να αποκτήσουν πρόσβαση ανάγνωσης και εγγραφής σε ολόκληρο το σύστημα.

Η αποκάλυψη και η άμεση διόρθωση

Η ευπάθεια εντοπίστηκε από τον ερευνητή Erge, ο οποίος εξέταζε τον πηγαίο κώδικα της έκδοσης Firefox 149 Nightly. Ο Erge κατάφερε να δημιουργήσει ένα λειτουργικό παράδειγμα επίθεσης που παρέκαμπτε την προστασία ASLR και εκτελούσε εντολές συστήματος, αποκτώντας πλήρη έλεγχο του υπολογιστή.

Ευτυχώς, το κενό ασφαλείας αφορούσε μόνο τις δοκιμαστικές εκδόσεις Nightly και δεν έφτασε ποτέ στην ευρεία κυκλοφορία του Firefox. Η Mozilla αντέδρασε ταχύτατα, διορθώνοντας το σφάλμα μέσα σε λίγες ημέρες και απονέμοντας αμοιβή στους ερευνητές που το εντόπισαν. Το περιστατικό αποτελεί μια υπενθύμιση για το πώς η ασφάλεια εκατομμυρίων χρηστών μπορεί μερικές φορές να κρέμεται από ένα και μόνο πλήκτρο.

Exit mobile version