Μια άλλη ευπάθεια στο Apache httpd που επιτρέπει πρόσβαση εκτός του ριζικού καταλόγου του ιστότοπου

Ένας νέος φορέας επίθεσης βρέθηκε για τον διακομιστή Apache http, ο οποίος παρέμεινε αδιόρθωτος στην ενημέρωση 2.4.50 και επιτρέπει την πρόσβαση σε αρχεία από περιοχές εκτός του ριζικού καταλόγου του ιστότοπου. Επιπλέον, οι ερευνητές βρήκαν μια μέθοδο που επιτρέπει, παρουσία ορισμένων μη τυπικών ρυθμίσεων, όχι μόνο την ανάγνωση αρχείων συστήματος, αλλά και την απομακρυσμένη εκτέλεση του κώδικά τους στον διακομιστή. Το πρόβλημα εμφανίζεται μόνο στις εκδόσεις 2.4.49 και 2.4.50· οι προηγούμενες εκδόσεις δεν επηρεάζονται. Για την εξάλειψη της νέας ευπάθειας, κυκλοφόρησε γρήγορα το Apache httpd 2.4.51.

Στον πυρήνα του, το νέο πρόβλημα (CVE-2021-42013) είναι εντελώς παρόμοιο με το αρχικό θέμα ευπάθειας (CVE-2021-41773) στην έκδοση 2.4.49, η μόνη διαφορά είναι μια διαφορετική κωδικοποίηση των χαρακτήρων "..". Συγκεκριμένα, στην έκδοση 2.4.50 η δυνατότητα χρήσης της ακολουθίας "%2e" για την κωδικοποίηση ενός σημείου αποκλείστηκε, αλλά χάθηκε η δυνατότητα διπλής κωδικοποίησης - κατά τον καθορισμό της ακολουθίας "%%32%65", ο διακομιστής την αποκωδικοποίησε στο "%2e" και μετά στο " .", π.χ. οι χαρακτήρες "../" για μετάβαση στον προηγούμενο κατάλογο θα μπορούσαν να κωδικοποιηθούν ως ".%%32%65/".

Όσον αφορά την εκμετάλλευση της ευπάθειας μέσω της εκτέλεσης κώδικα, αυτό είναι δυνατό όταν είναι ενεργοποιημένο το mod_cgi και χρησιμοποιείται η βασική διαδρομή στην οποία επιτρέπεται η εκτέλεση σεναρίων CGI (για παράδειγμα, εάν η οδηγία ScriptAlias ​​είναι ενεργοποιημένη ή η σημαία ExecCGI έχει καθοριστεί στο οδηγία για τις επιλογές). Μια υποχρεωτική απαίτηση για μια επιτυχημένη επίθεση είναι επίσης η ρητή παροχή πρόσβασης σε καταλόγους με εκτελέσιμα αρχεία, όπως το /bin, ή πρόσβαση στη ρίζα του συστήματος αρχείων «/» στις ρυθμίσεις του Apache. Δεδομένου ότι αυτή η πρόσβαση συνήθως δεν παρέχεται, οι επιθέσεις εκτέλεσης κώδικα έχουν μικρή εφαρμογή σε πραγματικά συστήματα.

Ταυτόχρονα, η επίθεση για την απόκτηση των περιεχομένων των αυθαίρετων αρχείων συστήματος και των κειμένων προέλευσης των σεναρίων Ιστού, τα οποία είναι αναγνώσιμα από τον χρήστη κάτω από τον οποίο εκτελείται ο διακομιστής http, παραμένει σχετική. Για να πραγματοποιήσετε μια τέτοια επίθεση, αρκεί να έχετε έναν κατάλογο στον ιστότοπο ρυθμισμένο χρησιμοποιώντας τις οδηγίες "Alias" ή "ScriptAlias" (το DocumentRoot δεν είναι αρκετό), όπως το "cgi-bin".

Ένα παράδειγμα εκμετάλλευσης που σας επιτρέπει να εκτελέσετε το βοηθητικό πρόγραμμα "id" στον διακομιστή: curl 'http://192.168.0.1/cgi-bin/.%%32%65/.%%32%65/.%% 32%65/.%% 32%65/.%%32%65/bin/sh» —δεδομένα «echo Content-Type: text/plain; ηχώ; id' uid=1(daemon) gid=1(daemon) group=1(daemon)

Ένα παράδειγμα εκμεταλλεύσεων που σας επιτρέπει να εμφανίσετε τα περιεχόμενα του /etc/passwd και ένα από τα σενάρια Ιστού (για την έξοδο του κώδικα σεναρίου, πρέπει να καθοριστεί ο κατάλογος που ορίζεται μέσω της οδηγίας "Alias", για τον οποίο δεν είναι ενεργοποιημένη η εκτέλεση σεναρίου ως βασικός κατάλογος): curl 'http://192.168.0.1 .32/cgi-bin/.%%65%32/.%%65%32/.%%65%32/.%%65%32/.% %65%192.168.0.1/etc/passwd' curl 'http: //32/aliaseddir/.%%65%32/.%%65%32/.%%65%32/.%%65%32/. %%65%2/usr/local/apacheXNUMX/cgi -bin/test.cgi'

Το πρόβλημα επηρεάζει κυρίως διανομές που ενημερώνονται συνεχώς όπως το Fedora, το Arch Linux και το Gentoo, καθώς και τις θύρες του FreeBSD. Τα πακέτα στους σταθερούς κλάδους των συντηρητικών διανομών διακομιστή Debian, RHEL, Ubuntu και SUSE δεν επηρεάζονται από την ευπάθεια. Το πρόβλημα δεν παρουσιάζεται εάν η πρόσβαση σε καταλόγους απαγορεύεται ρητά χρησιμοποιώντας τη ρύθμιση "require all denied".

Πηγή: opennet.ru

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