Δύο ευπάθειες στο Git που θα μπορούσαν να οδηγήσουν σε απομακρυσμένη εκτέλεση κώδικα

Έχουν γίνει διορθωτικές εκδόσεις του συστήματος ελέγχου κατανεμημένης πηγής Git 2.39.1, 2.38.3, 2.37.5, 2.36.4, 2.35.6, 2.34.6, 2.33.6, 2.32.5, 2.31.6 και 2.30.7 δημοσιεύτηκε, στην οποία εξαλείφθηκαν δύο ευπάθειες που σας επιτρέπουν να οργανώσετε την εκτέλεση του κώδικα σας στο σύστημα του χρήστη όταν χρησιμοποιείτε την εντολή "git archive" και εργάζεστε με αναξιόπιστα εξωτερικά αποθετήρια. Τα τρωτά σημεία προκαλούνται από σφάλματα στον κώδικα μορφοποίησης δέσμευσης και στην ανάλυση του αρχείου ".gitattributes", τα οποία, κατά την επεξεργασία εξωτερικών αποθετηρίων, μπορούν να οδηγήσουν σε εγγραφή σε μνήμη εκτός σωρού και στην ανάγνωση αυθαίρετων δεδομένων από τη μνήμη.

Και τα δύο τρωτά σημεία εντοπίστηκαν κατά τη διάρκεια ενός ελέγχου ασφαλείας της βάσης κωδικών Git που διενεργήθηκε από το X41 για λογαριασμό του OSTIF (Ταμείο Βελτίωσης Τεχνολογίας Ανοικτού Κώδικα), που δημιουργήθηκε για την ενίσχυση της ασφάλειας έργων ανοιχτού κώδικα. Εκτός από τα δύο κρίσιμα ζητήματα που συζητούνται παρακάτω, ο έλεγχος εντόπισε επίσης μία επικίνδυνη ευπάθεια, μία μέτρια ευπάθεια και τέσσερα μη επικίνδυνα ζητήματα. Έγιναν επίσης 27 συστάσεις για τη βελτίωση της ασφάλειας της βάσης κωδικών.

  • CVE-2022-41903: Υπάρχει υπερχείλιση ακεραίων στον κώδικα μορφοποίησης πληροφοριών υποβολής κατά τον χειρισμό μεγάλων τιμών μετατόπισης σε τελεστές συμπλήρωσης όπως "%<(", "%<|(", "%>(", "%>>(" και "%><( )". Η υπερχείλιση ακεραίων εμφανίζεται στη συνάρτηση format_and_pad_commit() λόγω της χρήσης ενός ακέραιου τύπου για τη μεταβλητή size_t, η οποία εμπλέκεται στον προσδιορισμό του μεγέθους μετατόπισης του αντιγραμμένου μπλοκ κατά την κλήση της memcpy().

    Η ευπάθεια εκδηλώνεται τόσο όταν καλείται απευθείας με ειδικά μορφοποιημένες παραμέτρους μορφοποίησης (για παράδειγμα, κατά την εκτέλεση της εντολής "git log --format=..."), όσο και όταν η μορφοποίηση εφαρμόζεται έμμεσα κατά την εκτέλεση της εντολής "git archive" σε ένα αποθετήριο που ελέγχεται από τον εισβολέα. Στη δεύτερη περίπτωση, οι τροποποιητές μορφοποίησης καθορίζονται μέσω της παραμέτρου export-subst στο αρχείο ".gitattributes", το οποίο μπορεί να τοποθετηθεί από τον εισβολέα στο αποθετήριό του. Το πρόβλημα μπορεί να αξιοποιηθεί για την ανάγνωση και εγγραφή αυθαίρετων περιοχών του σωρού και να οδηγήσει σε εκτέλεση κώδικα από τον εισβολέα κατά την εργασία με μη αξιόπιστα αποθετήρια.

  • CVE-2022-23521: Υπερχείλιση ακεραίων κατά την ανάλυση του περιεχομένου αρχείων .gitattributes σε ένα αποθετήριο, που εκδηλώνεται κατά την επεξεργασία ενός πολύ μεγάλου αριθμού μοτίβων διαδρομής αρχείου ή ενός μεγάλου αριθμού χαρακτηριστικών με ένα μόνο μοτίβο, καθώς και κατά την ανάλυση πολύ μεγάλων ονομάτων χαρακτηριστικών. Το πρόβλημα μπορεί να αξιοποιηθεί για την ανάγνωση και εγγραφή αυθαίρετων θέσεων σωρού και να οδηγήσει σε εκτέλεση κώδικα που δημιουργείται από εισβολέα κατά την εργασία με ένα μη αξιόπιστο αποθετήριο, όπου ένας εισβολέας μπορεί να τοποθετήσει ένα ειδικά κατασκευασμένο αρχείο .gitattributes και να διασφαλίσει ότι θα καταχωρηθεί στο ευρετήριο.

Η δημοσίευση ενημερώσεων πακέτων σε διανομές μπορεί να παρακολουθηθεί στις ακόλουθες σελίδες: Debian, Ubuntu, Gentoo, RHEL, SUSE, Arch, FreeBSD, NetBSD. Για να μειώσετε τον κίνδυνο επίθεσης λόγω μη έγκαιρης εγκατάστασης ενημερώσεων, συνιστούμε να αποφεύγετε την εργασία με μη αξιόπιστα αποθετήρια και να χρησιμοποιείτε την εντολή "git archive". Είναι σημαντικό να θυμάστε ότι η εντολή "git archive" μπορεί να εκτελεστεί έμμεσα, για παράδειγμα, από το daemon git. Για να απενεργοποιήσετε το "git archive" στο daemon git, αλλάξτε την παράμετρο daemon.uploadArch χρησιμοποιώντας την εντολή "git config --global daemon.uploadArch false".

Επιπλέον, μπορεί να παρατηρηθεί ένα ακόμη θέμα ευπάθειας (CVE-2022-41953) στο Git για το προϊόν. Windows, το οποίο επιτρέπει την εκτέλεση κώδικα κατά την κλωνοποίηση μη αξιόπιστων εξωτερικών αποθετηρίων μέσω του GUI. Το πρόβλημα προκαλείται από το γεγονός ότι το Git GUI για Windows Μετά τη λειτουργία "checkout", εκτελεί αυτόματα ορισμένες εντολές μετεπεξεργασίας, όπως η εκτέλεση του προγράμματος ορθογραφικού ελέγχου για τον ορθογραφικό έλεγχο, ενώ οι διαδρομές αναζήτησης για τον ορθογραφικό έλεγχο του αρχείου περιλαμβάνουν επίσης το κλωνοποιημένο δέντρο εργασίας (η επίθεση συνοψίζεται στην προσθήκη ορθογραφικού ελέγχου στο δέντρο εργασίας του αποθετηρίου).

Πηγή: opennet.ru

Αγοράστε αξιόπιστη φιλοξενία για ιστότοπους με προστασία DDoS, διακομιστές VPS VDS 🔥 Αγοράστε αξιόπιστη φιλοξενία ιστοσελίδων με προστασία DDoS, διακομιστές VPS VDS | ProHoster