Μια ευπάθεια ασφαλείας στο Next.js θα μπορούσε να επιτρέψει σε επιτιθέμενους να εκτελέσουν κώδικα σε διακομιστή μέσω του ImageResponse, της λειτουργίας που παράγει Open Graph και άλλα social preview images. Η Vercel, η εταιρεία που αναπτύσσει το Next.js, αποκάλυψε την ευπάθεια και κυκλοφόρησε διορθωτική έκδοση στις 22 Σεπτεμβρίου 2026.

Η ευπάθεια παρακολουθείται με τον κωδικό CVE-2026-94545 και έχει λάβει βαθμολογία CVSS 9.5. Επηρεάζει τις εκδόσεις Νext.js 16.2.0 έως 16.3.5 όταν το ΙmageResponse εκτελείται στο Node.js runtime (προεπιλεγμένη ρύθμιση). Ο κίνδυνος εμφανίζεται όταν μια εφαρμογή τοποθετεί τιμές που ελέγχει ο επιτιθέμενος — όπως κείμενο που διαβάζεται από το request URL — μέσα στην εικόνα.
Σύμφωνα με το The Hacker News, δεν υπάρχουν δημόσιες αναφορές επιθέσεων που να εκμεταλλεύονται αυτή την ευπάθεια, ούτε δημόσιος κώδικας exploit. Ωστόσο, η σοβαρότητα της βαθμολογίας CVSS και ο τρόπος λειτουργίας της ευπάθειας καθιστούν επείγουσα την άμεση ενημέρωση.
Δείτε επίσης: Meshtastic: Critical GitHub Actions flaw με pull_request_target επιτρέπει supply chain compromise (CVE-2026-44359)
Πώς λειτουργεί η ευπάθεια Next.js ImageResponse
Το ΙmageResponse χρησιμοποιεί τη βιβλιοθήκη Satori της Vercel για να μετατρέψει τη διάταξη της εικόνας σε κώδικα SVG πριν δημιουργηθεί το τελικό αρχείο PNG. Το πρόβλημα εντοπίζεται στο γεγονός ότι ορισμένες τιμές φτάνουν στο SVG output χωρίς να έχουν υποστεί σωστή διαδικασία escaping. Αυτό σημαίνει ότι μια ειδικά διαμορφωμένη τιμή μπορεί να ερμηνευτεί ως κώδικας SVG αντί για απλό κείμενο.
Οι εφαρμογές που επηρεάζονται είναι εκείνες που «μεταβιβάζουν τιμές ελεγχόμενες από επιτιθέμενο σε περιεχόμενο SVG, χαρακτηριστικά ή στυλ κατά τη δημιουργία εικόνων», σύμφωνα με την ανακοίνωση της Vercel. Το παράδειγμα που δίνει η ανακοίνωση λαμβάνει μια τιμή από το URL του αιτήματος και την τοποθετεί μέσα σε ένα στοιχείο SVG title.
Στο Νext.js, τέτοιες τιμές μπορούν να φτάσουν σε ευπάθειες άλλων βιβλιοθηκών από τις οποίες εξαρτάται το Νext.js και να οδηγήσουν σε εκτέλεση κώδικα (Remote Code Execution), σύμφωνα με τη Vercel. Η εταιρεία δεν έχει κατονομάσει αυτές τις βιβλιοθήκες. Αξίζει να σημειωθεί ότι η έκδοση Edge του ImageResponse δεν επηρεάζεται, ούτε και το Νext.js 15.

Πώς να καταλάβετε αν επηρεάζεστε
Για να εντοπίσετε αν η εφαρμογή σας χρησιμοποιεί το επηρεαζόμενο χαρακτηριστικό, αναζητήστε το ΙmageResponse που εισάγεται από το next/og, για παράδειγμα σε route handlers και σε αρχεία opengraph-image. Τα route handlers δημιουργούν την εικόνα όταν φτάνει ένα αίτημα. Ένα αρχείο opengraph-image μπορεί να τη δημιουργήσει κατά τη διάρκεια του build ή όταν φτάνει ένα αίτημα.
Σημαντική παρατήρηση: το εργαλείο npm audit δεν εντόπισε το Νext.js 16.3.5 — μια επηρεαζόμενη έκδοση — ως ευάλωτο κατά τους ελέγχους της 23ης Σεπτεμβρίου 2026. Επίσης, η ανακοίνωση δεν ήταν ακόμα καταχωρημένη στη βάση δεδομένων GitHub Advisory Database, και δεν είχε δημοσιευτεί κανένα επίσημο αρχείο CVE για το CVE-2026-94545. Αυτό σημαίνει ότι οι αυτοματοποιημένες σαρώσεις ασφαλείας ενδέχεται να μην εντοπίσουν την ευπάθεια — γι’ αυτό είναι απαραίτητο να ελέγξετε την έκδοση του Next.js απευθείας.
Δείτε επίσης: CodeAstro QR Code Attendance: Κρίσιμη ευπάθεια με δημόσιο exploit
Επιπλέον, η βιβλιοθήκη Satori είναι ενσωματωμένη μέσα στο πακέτο Next.js, οπότε ένα αρχείο lockfile δεν την καταγράφει ως ξεχωριστή εξάρτηση του Next.js. Αυτό καθιστά ακόμα πιο δύσκολο τον αυτόματο εντοπισμό της ευπάθειας μέσω εργαλείων σάρωσης.
Διόρθωση και προσωρινές λύσεις για το Next.js ImageResponse
Η διόρθωση βρίσκεται στο Νext.js 16.3.6, η οποία είναι η μόνη διορθωμένη έκδοση και εγκαθίσταται με την εντολή npm install next@16.3.6. Το μητρώο npm δεν καταγράφει καμία διορθωμένη έκδοση για τη σειρά 16.2, οπότε οι εφαρμογές που χρησιμοποιούν το Next.js 16.2 πρέπει να μεταβούν στο 16.3.6. Η έκδοση Νext.js 15.5.26 προσθέτει επιπλέον ενίσχυση ασφαλείας για το next/og στη σειρά 15.5.

Αν η αναβάθμιση πρέπει να αναβληθεί, η προσωρινή λύση είναι να αποκλειστούν οι τιμές που ελέγχει ο επιτιθέμενος από το περιεχόμενο SVG, τα χαρακτηριστικά και τα στυλ που αποδίδει το Node.js ΙmageResponse. Η ανακοίνωση δεν προτείνει μετάβαση στην έκδοση Edge, καθώς η τεκμηρίωση του Next.js χαρακτηρίζει το Edge runtime ως deprecated.
Για τους προγραμματιστές που χρησιμοποιούν τη βιβλιοθήκη Satori απευθείας, η ανακοίνωση ασφαλείας της Satori — που δημοσιεύτηκε την ίδια ημέρα — αξιολογεί το ίδιο CVE ως «μέτριο» με βαθμολογία 5.3 και αναφέρει ότι ο αντίκτυπος εξαρτάται από τον τρόπο χρήσης του SVG output. Η διόρθωση για τη Satori βρίσκεται στην έκδοση 0.33.5.
🔒 Προστατέψτε την ιδιωτικότητά σας με Proton VPN
Ελβετικό VPN από τους δημιουργούς του Proton Mail — αυστηρή πολιτική no-logs, ισχυρή κρυπτογράφηση και ενσωματωμένο NetShield που μπλοκάρει διαφημίσεις, trackers & malware.
- ✔ No-logs, με έδρα την Ελβετία (εκτός 14-Eyes)
- ✔ NetShield: φραγή διαφημίσεων, trackers & κακόβουλων domains
- ✔ Καλύπτει όλες τις συσκευές — δωρεάν έκδοση διαθέσιμη
Ο σύνδεσμος είναι συνεργατικός (affiliate) — το SecNews ενδέχεται να λάβει προμήθεια χωρίς επιπλέον κόστος για εσάς. Δεν επηρεάζει την ανεξαρτησία της αρθρογραφίας μας.
Δείτε επίσης: Check Point Management Server: Κρίσιμη zero-day σε στοχευμένες επιθέσεις
Αξίζει να σημειωθεί ότι η Vercel δεν έχει διευκρινίσει αν οι εφαρμογές που φιλοξενούνται στην πλατφόρμα της προστατεύονται αυτόματα. Για δύο κρίσιμες ευπάθειες του Next.js που διορθώθηκαν τον Αύγουστο, η εταιρεία είχε δηλώσει ότι οι φιλοξενούμενες εφαρμογές ήταν προστατευμένες και δεν χρειάζονταν αναβάθμιση. Η απουσία αντίστοιχης δήλωσης αυτή τη φορά αφήνει ανοιχτό το ερώτημα για τους χρήστες της πλατφόρμας Vercel.
Επίσης, η ανακοίνωση δεν παρέχει κανέναν τρόπο ελέγχου αν ένα επηρεαζόμενο route έχει εκμεταλλευτεί πριν από την εφαρμογή της διόρθωσης. Οι επηρεαζόμενες εκδόσεις ήταν διαθέσιμες από τις 18 Μαρτίου 2026, όταν κυκλοφόρησε το Next.js 16.2, πράγμα που σημαίνει ότι η ευπάθεια ήταν παρούσα για περίπου έξι μήνες πριν εντοπιστεί και διορθωθεί.
