Εντοπίστηκε μια ευπάθεια στο Composer που θέτει σε κίνδυνο το αποθετήριο Packagist PHP

πριν ΛΙΓΕΣ μερες Τα νέα έσπασαν ότι έχει εντοπιστεί μια κρίσιμη ευπάθεια en ο διαχειριστής εξάρτησης του Συνθέτης (CVE-2021-29472) που σας επιτρέπει να εκτελείτε αυθαίρετες εντολές στο σύστημα κατά την επεξεργασία ενός πακέτου με μια ειδικά διαμορφωμένη τιμή URL που καθορίζει την κατεύθυνση λήψης του πηγαίου κώδικα.

Το πρόβλημα εκδηλώνεται στα στοιχεία GitDriver, SvnDriver και HgDriver χρησιμοποιείται με τα συστήματα ελέγχου πηγής Git, Subversion και Mercurial. Η ευπάθεια επιδιορθώθηκε στις εκδόσεις Composer 1.10.22 και 2.0.13.

Συγκεκριμένα, επηρεάζεται ιδιαίτερα το προεπιλεγμένο αποθετήριο πακέτων Packagist, το οποίο περιέχει 306.000 πακέτα προγραμματιστών PHP και προσφέρει περισσότερες από 1.400 δισεκατομμύρια μηνιαίες λήψεις.

Στο οικοσύστημα PHP, το Composer είναι το κύριο εργαλείο για τη διαχείριση και εγκατάσταση εξαρτήσεων λογισμικού. Οι ομάδες ανάπτυξης σε όλο τον κόσμο το χρησιμοποιούν για να διευκολύνουν τη διαδικασία αναβάθμισης και να διασφαλίσουν ότι οι εφαρμογές λειτουργούν χωρίς κόπο σε όλα τα περιβάλλοντα και τις εκδόσεις.

Το πείραμα έδειξε ότι αν υπήρχαν πληροφορίες σχετικά με το πρόβλημα, οι εισβολείς θα μπορούσαν να πάρουν τον έλεγχο της υποδομής Packagist και να αναχαιτίσουν τα διαπιστευτήρια των συντηρητών ή να ανακατευθύνουν τη λήψη πακέτων σε διακομιστή τρίτου μέρους, ρυθμίζοντας την παράδοση παραλλαγών πακέτων με αλλαγές. κακόβουλοι χρήστες να αντικαταστήσουν ένα backdoor κατά την εγκατάσταση εξάρτησης.

Ο κίνδυνος για τους τελικούς χρήστες είναι περιορισμένος λόγω του γεγονότος ότι το περιεχόμενο του συνθέτη.json ορίζεται συνήθως από τον χρήστη και οι σύνδεσμοι προς την πηγή μεταβιβάζονται κατά την πρόσβαση σε αποθετήρια τρίτων, τα οποία είναι συνήθως αξιόπιστα. Το κύριο πλήγμα έπεσε στο αποθετήριο Packagist.org και στην υπηρεσία Private Packagist, που καλούν τον Συνθέτη με τη μεταφορά δεδομένων που λαμβάνονται από χρήστες. Οι εισβολείς θα μπορούσαν να εκτελέσουν τον κωδικό τους σε διακομιστές Packagist, ρίχνοντας ένα ειδικά κατασκευασμένο πακέτο.

Η ομάδα Packagist επέλυσε την ευπάθεια εντός 12 ωρών από την ειδοποίηση ευπάθειας. Οι ερευνητές ενημέρωσαν ιδιωτικά τους προγραμματιστές Packagist στις 22 Απριλίου και το ζήτημα επιλύθηκε την ίδια ημέρα. Μια δημόσια ενημέρωση του Composer με επιδιόρθωση για την ευπάθεια κυκλοφόρησε στις 27 Απριλίου και οι λεπτομέρειες αποκαλύφθηκαν στις 28 Απριλίου. Ο έλεγχος των αρχείων καταγραφής στους διακομιστές της Packagist δεν αποκάλυψε καμία ύποπτη δραστηριότητα που σχετίζεται με την ευπάθεια.

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

Το πρόβλημα οφείλεται σε σφάλμα στον κωδικό επικύρωσης URL στο αρχείο root composer.json και στους συνδέσμους λήψης πηγής. Το σφάλμα υπάρχει στον κώδικα από τον Νοέμβριο του 2011. Το Packagist χρησιμοποιεί ειδικά επίπεδα για τη διαχείριση των λήψεων κώδικα χωρίς να δεσμεύεται σε ένα συγκεκριμένο σύστημα ελέγχου πηγής, το οποίο εκτελείται καλώντας "fromShellCommandline" με ορίσματα γραμμής εντολών.

Το επίκεντρο του προβλήματος είναι ότι η μέθοδος ProcessExecutor επέτρεψε να καθορίσει τυχόν πρόσθετες παραμέτρους κλήσεων στη διεύθυνση URL. Μια τέτοια διαφυγή έλειπε από τους οδηγούς GitDriver.php, SvnDriver.php και HgDriver.php. Η επίθεση GitDriver.php παρεμποδίστηκε από το γεγονός ότι η εντολή "git ls-remote" δεν υποστηρίζει τον καθορισμό πρόσθετων ορίσεων μετά τη διαδρομή.

Μια επίθεση στο HgDriver.php έγινε δυνατή με τη μετάδοση της παραμέτρου "-config" στο βοηθητικό πρόγραμμα "hq", το οποίο επιτρέπει την οργάνωση της εκτέλεσης οποιασδήποτε εντολής χειραγωγώντας τη διαμόρφωση "alias.identify".

Υποβάλλοντας ένα δοκιμαστικό πακέτο με παρόμοιο URL στο Packagist, οι ερευνητές εξασφάλισαν ότι μετά τη δημοσίευσή του, ο διακομιστής τους έλαβε αίτημα HTTP από έναν από τους διακομιστές Packagist στο AWS που περιείχε μια λίστα των αρχείων στον τρέχοντα κατάλογο.

Θα πρέπει να σημειωθεί ότι οι συντηρητές δεν εντόπισαν σημάδια προηγούμενης εκμετάλλευσης αυτής της ευπάθειας στη δημόσια παρουσία της συσκευασίας.

Τέλος, εάν ενδιαφέρεστε να μάθετε περισσότερα για αυτό, μπορείτε να συμβουλευτείτε τις λεπτομέρειες Στον ακόλουθο σύνδεσμο.


Αφήστε το σχόλιό σας

Η διεύθυνση email σας δεν θα δημοσιευθεί. Τα υποχρεωτικά πεδία σημειώνονται με *

*

*

  1. Υπεύθυνος για τα δεδομένα: AB Internet Networks 2008 SL
  2. Σκοπός των δεδομένων: Έλεγχος SPAM, διαχείριση σχολίων.
  3. Νομιμοποίηση: Η συγκατάθεσή σας
  4. Κοινοποίηση των δεδομένων: Τα δεδομένα δεν θα κοινοποιούνται σε τρίτους, εκτός από νομική υποχρέωση.
  5. Αποθήκευση δεδομένων: Βάση δεδομένων που φιλοξενείται από τα δίκτυα Occentus (ΕΕ)
  6. Δικαιώματα: Ανά πάσα στιγμή μπορείτε να περιορίσετε, να ανακτήσετε και να διαγράψετε τις πληροφορίες σας.