Μια κρίσιμη ευπάθεια ασφαλείας ανακαλύφθηκε στο Formbricks και μπορεί να επιτρέψει πλήρη κατάληψη λογαριασμών.

Το Formbricks είναι μια πλατφόρμα experience management ανοιχτού κώδικα. Η ευπάθεια, που εντοπίστηκε, παρακολουθείται ως CVE-2025-59934 και επηρεάζει όλες τις εκδόσεις πριν από την 4.0.1. Προκύπτει από την ακατάλληλη επικύρωση του token που χρησιμοποιεί το jwt.decode() αντί για το jwt.verify(), επιτρέποντας στους επιτιθέμενους να παρακάμπτουν πλήρως τους ελέγχους ταυτοποίησης.
Η ευπάθεια αποκαλύφθηκε από τον ερευνητή ασφαλείας mattinannt και έχει ταξινομηθεί ως “κρίσιμη” λόγω της δυνατότητάς της για μη εξουσιοδοτημένη πρόσβαση σε λογαριασμούς χρηστών.
Δείτε επίσης: Χάκερ εκμεταλλεύονται παρόχους Dynamic DNS για κακόβουλους σκοπούς
Το Formbricks έχει κυκλοφορήσει την έκδοση 4.0.1 για να αντιμετωπίσει αυτό το ζήτημα ασφαλείας, αλλά οι οργανισμοί που χρησιμοποιούν παλαιότερες εκδόσεις παραμένουν σε σημαντικό κίνδυνο.
Formbricks: JWT Validation Ευπάθεια
Η βασική ευπάθεια υπάρχει στη ρουτίνα επικύρωσης του token που βρίσκεται στο /formbricks/apps/web/lib/jwt.ts. Ο προβληματικός κώδικας υλοποιεί ένα verifyToken function που απλά αποκωδικοποιεί τα JWT tokens χωρίς να εκτελεί βασικούς ελέγχους ασφαλείας. Αυτή η υλοποίηση αποτυγχάνει να επαληθεύσει κρίσιμα στοιχεία του JWT, συμπεριλαμβανομένων των ψηφιακών υπογραφών, της λήξης του token, της επικύρωσης του εκδότη και της επαλήθευσης του κοινού.
Το function χρησιμοποιεί το jwt.decode() που απλά αναλύει τη δομή του JWT χωρίς κρυπτογραφική επικύρωση, αντιμετωπίζοντας οποιοδήποτε σωστά μορφοποιημένο JWT ως αυθεντικό ανεξάρτητα από τη νομιμότητά του.
Δείτε επίσης: Notepad++: Ευπάθεια DLL Hijacking επιτρέπει εκτέλεση κώδικα

Αξίζει να σημειωθεί ότι τόσο το email verification token login path όσο και η λειτουργικότητα επαναφοράς κωδικού πρόσβασης βασίζονται σε αυτόν τον ελαττωματικό validator. Κατά την επεξεργασία αιτημάτων επαναφοράς κωδικού πρόσβασης, το σύστημα εξάγει το αναγνωριστικό χρήστη από το μη επαληθευμένο JWT payload και απευθείας κάνει αίτημα στη βάση δεδομένων για να ενημερώσει τον αντίστοιχο κωδικό πρόσβασης του χρήστη. Αυτός ο μηχανισμός παράκαμψης επιτρέπει στους επιτιθέμενους, που διαθέτουν το αναγνωριστικό χρήστη του θύματος, να δημιουργούν κακόβουλα JWTs χρησιμοποιώντας το “alg”: “none” algorithm header, δημιουργώντας ουσιαστικά μη υπογεγραμμένα tokens που περνούν την επαλήθευση.
Η εκμετάλλευση απαιτεί ελάχιστες προϋποθέσεις – οι επιτιθέμενοι χρειάζεται μόνο να ανακαλύψουν το μοναδικό αναγνωριστικό του στόχου, το οποίο ακολουθεί το standard format του Formbricks (π.χ., cmfuc8pk60000vxfjud7bcl2w). Η επίθεση εκμεταλλεύεται το “none” algorithm specification στα JWT headers, το οποίο υποδεικνύει ότι δεν πρέπει να πραγματοποιηθεί επαλήθευση υπογραφής.
Δείτε επίσης: Τεχνικές λεπτομέρειες του LummaStealer αποκαλύφθηκαν μέσω μοντέλων ML
Το proof-of-concept δείχνει την πλαστογράφηση token χρησιμοποιώντας ένα Python script που κατασκευάζει ένα κακόβουλο JWT. Η ακολουθία της επίθεσης ακολουθεί αυτά τα βήματα: ο επιτιθέμενος δημιουργεί ένα JWT με header {“alg”: “none”, “typ”: “JWT”} και payload που περιέχει το αναγνωριστικό χρήστη του θύματος, κατασκευάζει μια διεύθυνση URL επαναφοράς κωδικού πρόσβασης που περιέχει το πλαστογραφημένο token και υποβάλλει τη φόρμα με έναν νέο κωδικό πρόσβασης.
Το verifyToken function του διακομιστή αποδέχεται το μη υπογεγραμμένο token, εξάγει το αναγνωριστικό χρήστη και προχωρά στην ενημέρωση του κωδικού πρόσβασης χωρίς να πραγματοποιήσει επαλήθευση υπογραφής. Αυτό το μονοπάτι επίθεσης δείχνει μια θεμελιώδη ευπάθεια παράκαμψης ταυτοποίησης, όπου η απουσία κρυπτογραφικής επικύρωσης καθιστά αναποτελεσματικό ολόκληρο το μοντέλο ασφαλείας που βασίζεται σε JWT.
Δείτε επίσης: Το ransomware Akira παραβιάζει λογαριασμούς VPN SonicWall που προστατεύονται με MFA
🔑 Ασφαλίστε τους κωδικούς σας με Proton Pass
Password manager από την Proton — end-to-end κρυπτογράφηση, passkeys, ενσωματωμένο 2FA και παρακολούθηση για διαρροές των στοιχείων σας.
- ✔ Κρυπτογραφημένη αποθήκευση κωδικών & passkeys
- ✔ Ειδοποίηση αν κάποιος κωδικός σας διέρρευσε (Dark Web Monitoring)
- ✔ Δωρεάν έκδοση — σε όλες τις συσκευές
Ο σύνδεσμος είναι συνεργατικός (affiliate) — το SecNews ενδέχεται να λάβει προμήθεια χωρίς επιπλέον κόστος για εσάς. Δεν επηρεάζει την ανεξαρτησία της αρθρογραφίας μας.

Προστασία
Η ευπάθεια επηρεάζει τη λειτουργικότητα επαναφοράς κωδικού πρόσβασης και τις διαδικασίες επαλήθευσης email, ενδεχομένως επιτρέποντας εκτεταμένη παραβίαση λογαριασμών σε εγκαταστάσεις του Formbricks. Οι οργανισμοί που χρησιμοποιούν τις επηρεαζόμενες εκδόσεις του Formbricks θα πρέπει άμεσα να αναβαθμίσουν στην έκδοση 4.0.1 ή νεότερη και να ελέγξουν τα αρχεία καταγραφής ταυτοποίησης για ύποπτες δραστηριότητες επαναφοράς κωδικού πρόσβασης.
Η ενημερωμένη έκδοση υλοποιεί σωστή επαλήθευση υπογραφής JWT χρησιμοποιώντας το jwt.verify() αντί για τη ευάλωτη μέθοδο jwt.decode(), διασφαλίζοντας ότι μόνο κρυπτογραφικά έγκυρα tokens μπορούν να ταυτοποιήσουν χρήστες και να εξουσιοδοτήσουν ευαίσθητες λειτουργίες όπως οι επαναφορές κωδικών πρόσβασης. Η πλήρης παραβίαση και κατάληψη λογαριασμών μπορεί να έχει εκτεταμένες συνέπειες για μια επιχείρηση. Οι ειδικοί ασφαλείας πρέπει να δράσουν άμεσα.
