Η Guzzle CVE-2026-69246 είναι κρίσιμη ευπάθεια υψηλής σοβαρότητας στη δημοφιλή βιβλιοθήκη HTTP για PHP, η οποία μπορεί να παρακάμψει ελέγχους που βασίζονται στο όνομα του host. Η τεχνική ομάδα του SecNews εξετάζει τον κίνδυνο και τα βήματα προστασίας.

Το ζήτημα καταγράφεται ως CVE-2026-69246 και αφορά το πακέτο guzzlehttp/guzzle, που χρησιμοποιείται ευρέως σε εφαρμογές PHP για την αποστολή αιτημάτων σε εξωτερικές υπηρεσίες. Η ευπάθεια έχει αξιολόγηση Υψηλή (High) και επιτρέπει σε έναν απομακρυσμένο επιτιθέμενο, υπό συγκεκριμένες προϋποθέσεις, να οδηγήσει μια εφαρμογή σε διαφορετικό προορισμό από εκείνον που επέτρεψαν οι αρχικοί έλεγχοι.
Δείτε επίσης: Bouncy Castle Java: Πέντε νέες ευπάθειες απαιτούν άμεση αναβάθμιση
Πώς λειτουργεί η Guzzle CVE-2026-69246
Η Guzzle παραδίδει στο επίπεδο μεταφοράς το URI του αιτήματος ως κείμενο, ενώ περνά ξεχωριστά την επικεφαλίδα Host. Οι ενσωματωμένοι χειριστές cURL και StreamHandler δεν ερμηνεύουν πάντοτε αυτά τα δύο στοιχεία με τον ίδιο τρόπο. Το libcurl μπορεί να αποκωδικοποιήσει το authority του URI και να συνδεθεί σε έναν κανονικοποιημένο προορισμό, την ώρα που η εφαρμογή εξακολουθεί να αξιολογεί το μη κανονικοποιημένο όνομα.
Έτσι, μια διεύθυνση όπως 127.0.0.%31 μπορεί να περάσει από έλεγχο που δεν τη θεωρεί IP literal, ενώ το libcurl να την ερμηνεύσει ως 127.0.0.1. Το παράδειγμα έχει σημασία επειδή ο διακομιστής μπορεί να λάβει διαφορετική τιμή στην επικεφαλίδα Host από εκείνη που χρησιμοποιήθηκε για τη σύνδεση. Η ίδια απόκλιση επηρεάζει επιλογές διαμεσολαβητή, ανακατευθύνσεις και τη διαχείριση ευαίσθητων επικεφαλίδων.
Η επίσημη ανακοίνωση ασφαλείας της Guzzle στο GitHub διευκρινίζει ότι δεν πρόκειται για γενική προστασία από SSRF. Ο κίνδυνος εμφανίζεται όταν η εφαρμογή κατασκευάζει URI από μη αξιόπιστη είσοδο και αποφασίζει πρώτα αν ο host ανήκει σε απαγορευμένη ή ιδιωτική περιοχή.

Ποιες εκδόσεις επηρεάζονται
Η CVE-2026-69246 επηρεάζει τις εκδόσεις του κλάδου 7 πριν από την 7.15.2, καθώς και την έκδοση 8.0.0. Η διορθωμένη έκδοση είναι η 7.15.2 για την προηγούμενη σειρά και η 8.0.1 για την έκδοση 8. Η ενημέρωση προσθέτει ελέγχους στους τρεις βασικούς χειριστές πριν από οποιαδήποτε δικτυακή επικοινωνία και απορρίπτει ύποπτες μορφές host και ρητές επικεφαλίδες Host.
Οι διορθώσεις ελέγχουν, μεταξύ άλλων, χαρακτήρες εκτός του επιτρεπτού ASCII εύρους, κωδικοποιήσεις ποσοστού, οριοθέτες του τμήματος authority, μη ισορροπημένες αγκύλες και ορισμένες αριθμητικές μορφές που καταλήγουν σε τελεία. Παράλληλα, η βιβλιοθήκη μπορεί να αναδημιουργεί την επικεφαλίδα Host όταν ξαναγράφει το URI, ώστε τα στοιχεία της σύνδεσης να παραμένουν συνεπή.
Δείτε επίσης: N-central CVE-2026-18577: Νέο hotfix της N-able για τους διαχειριστές
Τι πρέπει να κάνουν οι διαχειριστές
Για τη Guzzle CVE-2026-69246, η προτεραιότητα είναι η αναβάθμιση του πακέτου στην κατάλληλη διορθωμένη έκδοση και η επανεκκίνηση των εφαρμογών που διατηρούν τη βιβλιοθήκη φορτωμένη στη μνήμη. Οι ομάδες ανάπτυξης πρέπει να ελέγξουν το αρχείο lock του Composer, τις εικόνες των containers και τις αυτοματοποιημένες διαδικασίες ανάπτυξης, ώστε να μη μείνει παλιό αντίγραφο σε κάποιο περιβάλλον.
Παράλληλα, οι υπεύθυνοι ασφάλειας μπορούν να αναζητήσουν στα αρχεία καταγραφής αιτήματα με ασυνήθιστες μορφές host, κωδικοποιημένους χαρακτήρες ή απόπειρες πρόσβασης σε loopback και ιδιωτικές διευθύνσεις. Ιδιαίτερη προσοχή χρειάζονται οι ανακατευθύνσεις, επειδή ένα αρχικά επιτρεπτό URI μπορεί να οδηγήσει σε διαφορετικό προορισμό στο επόμενο βήμα. Η καταγραφή των τελικών προορισμών, των DNS απαντήσεων και των επικεφαλίδων βοηθά στη διερεύνηση ύποπτων αιτημάτων.
Όπου η αναβάθμιση καθυστερεί, χρειάζεται αυστηρός έλεγχος του URI πριν παραδοθεί στη Guzzle. Η επικύρωση πρέπει να εφαρμόζεται σε κάθε ανακατεύθυνση, να ελέγχει ξεχωριστά τη ρητή επικεφαλίδα Host και να εξετάζει την τελική διεύθυνση IP όταν η εφαρμογή προστατεύει εσωτερικές υπηρεσίες. Για μη αξιόπιστες προελεύσεις, είναι συνετό να χρησιμοποιείται ξεχωριστό χώρο αποθήκευσης cookies και περιορισμένη λίστα επιτρεπόμενων hosts.

Η ενεργοποίηση του idn_conversion από μόνη της δεν αποτελεί μηχανισμό ελέγχου πρόσβασης. Επίσης, η μέθοδος Uri::getHost() επιστρέφει τον host όπως γράφτηκε και όχι κατ’ ανάγκη τον προορισμό στον οποίο θα συνδεθεί το επίπεδο μεταφοράς. Αυτές οι λεπτομέρειες πρέπει να αποτυπωθούν σε δοκιμές και κανόνες παρακολούθησης.
Δείτε επίσης: Cisco FMC Zero-Day: Ενεργή εκμετάλλευση και κρίσιμη ευπάθεια
🔒 Προστατέψτε την ιδιωτικότητά σας με Proton VPN
Ελβετικό VPN από τους δημιουργούς του Proton Mail — αυστηρή πολιτική no-logs, ισχυρή κρυπτογράφηση και ενσωματωμένο NetShield που μπλοκάρει διαφημίσεις, trackers & malware.
- ✔ No-logs, με έδρα την Ελβετία (εκτός 14-Eyes)
- ✔ NetShield: φραγή διαφημίσεων, trackers & κακόβουλων domains
- ✔ Καλύπτει όλες τις συσκευές — δωρεάν έκδοση διαθέσιμη
Ο σύνδεσμος είναι συνεργατικός (affiliate) — το SecNews ενδέχεται να λάβει προμήθεια χωρίς επιπλέον κόστος για εσάς. Δεν επηρεάζει την ανεξαρτησία της αρθρογραφίας μας.
Μετά την εγκατάσταση, μια ελεγχόμενη δοκιμή πρέπει να επιβεβαιώσει ότι οι ίδιοι κανόνες εφαρμόζονται στον χειριστή cURL και στον StreamHandler. Ελέγξτε επίσης τις εκδόσεις που χρησιμοποιούνται έμμεσα από άλλα πακέτα Composer, καθώς μια άμεση ενημέρωση σε ένα μόνο έργο δεν αρκεί αν παραμένει παλιό αντίγραφο σε κοινόχρηστη εικόνα ή υπηρεσία.

Μέχρι στιγμής, η δημοσίως διαθέσιμη τεχνική περιγραφή δεν τεκμηριώνει εκμετάλλευση σε πραγματικές επιθέσεις. Ωστόσο, η Guzzle CVE-2026-69246 αφορά συστατικό που συναντάται σε πολλές εφαρμογές και η αξιοποίηση μη κανονικών hosts μπορεί να επηρεάσει ελέγχους πρόσβασης, ανακατευθύνσεις και διαπιστευτήρια. Η συντακτική ομάδα του SecNews συνιστά άμεσο έλεγχο εξαρτήσεων και εφαρμογή της ενημέρωσης χωρίς αναμονή.
