Κακόβουλη αλλαγή που έγινε στο πακέτο NPM node-ipc που διαγράφει αρχεία σε συστήματα στη Ρωσία και τη Λευκορωσία

Εντοπίστηκε μια κακόβουλη αλλαγή στο πακέτο node-ipc NPM (CVE-2022-23812) που έχει 25% πιθανότητα να αντικαταστήσει τα περιεχόμενα όλων των αρχείων που έχουν πρόσβαση εγγραφής με χαρακτήρα "❤️". Ο κακόβουλος κώδικας ενεργοποιείται μόνο όταν εκκινείται σε συστήματα με διευθύνσεις IP από τη Ρωσία ή τη Λευκορωσία. Το πακέτο node-ipc έχει περίπου ένα εκατομμύριο λήψεις την εβδομάδα και χρησιμοποιείται ως εξάρτηση για 354 πακέτα, συμπεριλαμβανομένου του vue-cli. Όλα τα έργα που έχουν node-ipc ως εξαρτήσεις επηρεάζονται επίσης.

Ο κακόβουλος κώδικας δημοσιεύτηκε στο αποθετήριο NPM ως μέρος των εκδόσεων node-ipc 10.1.1 και 10.1.2. Μια κακόβουλη αλλαγή δημοσιεύτηκε στο αποθετήριο Git του έργου για λογαριασμό του συντάκτη του έργου πριν από 11 ημέρες. Η χώρα καθορίστηκε στον κωδικό καλώντας την υπηρεσία api.ipgeolocation.io. Το κλειδί στο οποίο έχει πρόσβαση το ipgeolocation.io API από ένα κακόβουλο ένθετο έχει πλέον ανακληθεί.

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

Αργότερα, οι εκδόσεις node-ipc 11.0.0 και 11.1.0 τοποθετήθηκαν στο αποθετήριο NPM, το οποίο αντί για τον ενσωματωμένο κακόβουλο κώδικα, πρόσθεσε την εξωτερική εξάρτηση "peacenotwar", που ελέγχεται από τον ίδιο συγγραφέα και προσφέρεται για συμπερίληψη ανά πακέτο συντηρητές που επιθυμούν να συμμετάσχουν στη διαμαρτυρία. Αναφέρεται ότι το πακέτο ειρήνης του πολέμου εμφανίζει μόνο ένα μήνυμα για τον κόσμο, αλλά λαμβάνοντας υπόψη τις ενέργειες που έχει ήδη κάνει ο συγγραφέας, τα περαιτέρω περιεχόμενα του πακέτου είναι απρόβλεπτα και η απουσία καταστροφικών αλλαγών δεν είναι εγγυημένη.

Παράλληλα, κυκλοφόρησε μια ενημέρωση στον σταθερό κλάδο node-ipc 9.2.2, ο οποίος χρησιμοποιείται από το έργο Vue.js. Στη νέα κυκλοφορία, εκτός από το peacenotwar, στον αριθμό των εξαρτήσεων προστέθηκε και το πακέτο χρωμάτων, ο συγγραφέας του οποίου ενσωμάτωσε καταστροφικές αλλαγές στον κώδικα τον Ιανουάριο. Η άδεια πηγής στη νέα έκδοση έχει αλλάξει από MIT σε DBAD.

Δεδομένου ότι τα επόμενα βήματα του συγγραφέα είναι απρόβλεπτα, συνιστάται στους χρήστες του node-ipc να διορθώσουν τις εξαρτήσεις στην έκδοση 9.2.1. Το κλείδωμα των εκδόσεων συνιστάται επίσης για άλλες εξελίξεις από τον ίδιο συγγραφέα που διατηρούσε 41 πακέτα. Μερικά από τα πακέτα που διατηρεί ο ίδιος συγγραφέας (js-queue, easy-stack, js-message, event-pubsub) έχουν περίπου ένα εκατομμύριο λήψεις την εβδομάδα.

Προσθήκη: Καταγράφονται επίσης και άλλες προσπάθειες προσθήκης ενεργειών σε διάφορα ανοιχτά πακέτα που δεν σχετίζονται με την άμεση λειτουργικότητα των εφαρμογών και συνδέονται με διευθύνσεις IP ή τοπικές ρυθμίσεις συστήματος. Οι πιο αβλαβείς από αυτές τις αλλαγές (es5-ext, rete, PHP composer, PHPUnit, Redis Desktop Manager, Awesome Prometheus Alerts, verdaccio, filestash) καταλήγουν στον τερματισμό του πολέμου για τους χρήστες στη Ρωσία και τη Λευκορωσία. Ταυτόχρονα, αποκαλύπτονται επίσης πιο επικίνδυνες εκδηλώσεις, για παράδειγμα, ένας κρυπτογραφητής έχει προστεθεί στα πακέτα μονάδων AWS Terraform και έχουν εισαχθεί πολιτικοί περιορισμοί στην άδεια χρήσης. Το υλικολογισμικό Tasmota για συσκευές ESP8266 και ESP32 έχει μια ενσωματωμένη καρτέλα που μπορεί να εμποδίσει τη λειτουργία των συσκευών. Υποτίθεται ότι μια τέτοια δραστηριότητα μπορεί να υπονομεύσει σοβαρά την εμπιστοσύνη στο λογισμικό ανοιχτού κώδικα.

Πηγή: opennet.ru

Προσθέστε ένα σχόλιο