Κυκλοφόρησε το curl 7.71.0, διορθώνοντας δύο τρωτά σημεία

Διαθέσιμος νέα έκδοση του βοηθητικού προγράμματος για λήψη και αποστολή δεδομένων μέσω του δικτύου - curl 7.71.0, το οποίο παρέχει τη δυνατότητα ευέλικτης διαμόρφωσης ενός αιτήματος καθορίζοντας παραμέτρους όπως cookie, user_agent, referer και οποιεσδήποτε άλλες κεφαλίδες. Το cURL υποστηρίζει πρωτόκολλα HTTP, HTTPS, HTTP/2.0, HTTP/3, SMTP, IMAP, POP3, Telnet, FTP, LDAP, RTSP, RTMP και άλλα πρωτόκολλα δικτύου. Ταυτόχρονα, κυκλοφόρησε μια ενημέρωση για τη βιβλιοθήκη libcurl, η οποία αναπτύσσεται παράλληλα, παρέχοντας ένα API για τη χρήση όλων των συναρτήσεων curl σε προγράμματα σε γλώσσες όπως C, Perl, PHP, Python.

Η νέα έκδοση προσθέτει την επιλογή «--retry-all-errors» για να δοκιμάσετε ξανά τις λειτουργίες εάν παρουσιαστούν σφάλματα και διορθώνει δύο ευπάθειες:

  • Τρωτό CVE-2020-8177 σας επιτρέπει να αντικαταστήσετε ένα τοπικό αρχείο στο σύστημα κατά την πρόσβαση σε διακομιστή που ελέγχεται από τον εισβολέα. Το πρόβλημα εμφανίζεται μόνο όταν χρησιμοποιούνται ταυτόχρονα οι επιλογές "-J" ("–remote-header-name") και "-i" ("—head"). Η επιλογή "-J" σάς επιτρέπει να αποθηκεύσετε το αρχείο με το όνομα που καθορίζεται στην κεφαλίδα
    «Περιεχόμενο-Διάθεση». Εάν υπάρχει ήδη ένα αρχείο με το ίδιο όνομα, το πρόγραμμα curl συνήθως αρνείται να πραγματοποιήσει μια αντικατάσταση, αλλά εάν υπάρχει η επιλογή "-i", η λογική του ελέγχου είναι σπασμένη και το αρχείο αντικαθίσταται (ο έλεγχος πραγματοποιείται στο στάδιο λήψης του σώματος απόκρισης, αλλά με την επιλογή «-i» εμφανίζονται πρώτα οι κεφαλίδες HTTP και έχουν χρόνο να αποθηκευτούν πριν αρχίσει η επεξεργασία του σώματος απόκρισης). Μόνο οι κεφαλίδες HTTP εγγράφονται στο αρχείο, αλλά ο διακομιστής μπορεί να στείλει αυθαίρετα δεδομένα αντί για κεφαλίδες και θα εγγραφούν.

  • Τρωτό CVE-2020-8169 μπορεί να οδηγήσει σε διαρροή στον διακομιστή DNS ορισμένων από τους κωδικούς πρόσβασης του ιστότοπου (Basic, Digest, NTLM, κ.λπ.). Χρησιμοποιώντας το σύμβολο "@" σε έναν κωδικό πρόσβασης, ο οποίος χρησιμοποιείται επίσης ως διαχωριστικό κωδικού πρόσβασης στη διεύθυνση URL, όταν ενεργοποιείται μια ανακατεύθυνση HTTP, το curl θα στείλει το τμήμα του κωδικού πρόσβασης μετά το σύμβολο "@" μαζί με τον τομέα για επίλυση το όνομα. Για παράδειγμα, εάν δώσετε τον κωδικό πρόσβασης "passw@rd123" και το όνομα χρήστη "dan", το curl θα δημιουργήσει τη διεύθυνση URL "https://dan:passw@[προστασία μέσω email]/path" αντί για "https://dan:passw%[προστασία μέσω email]/path" και θα στείλει ένα αίτημα για επίλυση του κεντρικού υπολογιστή "[προστασία μέσω email]" αντί για "example.com".

    Το πρόβλημα εμφανίζεται όταν είναι ενεργοποιημένη η υποστήριξη σχετικών ανακατευθύνσεων HTTP (απενεργοποιημένη μέσω CURLOPT_FOLLOWLOCATION). Εάν χρησιμοποιείται παραδοσιακό DNS, πληροφορίες σχετικά με μέρος του κωδικού πρόσβασης μπορούν να ληφθούν από τον πάροχο DNS και από έναν εισβολέα που έχει τη δυνατότητα να υποκλέψει την κυκλοφορία του δικτύου διαμετακόμισης (ακόμα και αν το αρχικό αίτημα ήταν μέσω HTTPS, καθώς η κίνηση DNS δεν είναι κρυπτογραφημένη). Όταν χρησιμοποιείται DNS-over-HTTPS (DoH), η διαρροή περιορίζεται στον χειριστή DoH.

Πηγή: opennet.ru

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