Ένας κώδικας απόδειξης της ιδέας (PoC) που δείχνει μια ευπάθεια παράκαμψης ψηφιακής υπογραφής που πρόσφατα αποκαλύφθηκε στην Java έχει κοινοποιηθεί στο διαδίκτυο.
Το ελάττωμα υψηλής σοβαρότητας , CVE-2022-21449 (βαθμολογία CVSS: 7,5), επηρεάζει τις ακόλουθες εκδόσεις Java SE και Oracle GraalVM Enterprise Edition –
- Oracle Java SE: 7u331, 8u321, 11.0.14, 17.0.
- Oracle GraalVM Enterprise Edition: 20.3.5, 21.3.1, 22.0.0.2
Το πρόβλημα έγκειται στην υλοποίηση από την Java του Elliptic Curve Digital Signature Algorithm (ECDSA), ενός κρυπτογραφικού μηχανισμού για την ψηφιακή υπογραφή μηνυμάτων και δεδομένων για την επαλήθευση της αυθεντικότητας και της ακεραιότητας τα περιεχόμενα.
Με λίγα λόγια, η κρυπτογραφική γκάφα – που ονομάστηκε Psychic Signatures στην Java – καθιστά δυνατή την παρουσίαση μιας εντελώς κενού υπογραφής, η οποία θα εξακολουθούσε να θεωρείται έγκυρη από την ευάλωτη υλοποίηση.
Η επιτυχής εκμετάλλευση του ελαττώματος θα μπορούσε να επιτρέψει σε έναν εισβολέα να πλαστογραφήσει υπογραφές και να παρακάμψει τα μέτρα ελέγχου ταυτότητας που έχουν τεθεί σε εφαρμογή.
Το PoC, που δημοσιεύτηκε από τον ερευνητή ασφαλείας Khaled Nassar, περιλαμβάνει έναν ευάλωτο πελάτη και έναν κακόβουλο διακομιστή TLS, ο πρώτος από τους οποίους δέχεται μια μη έγκυρη υπογραφή από τον διακομιστή, επιτρέποντας ουσιαστικά στη χειραψία TLS να συνεχιστεί ανεμπόδιστα.
“Εάν χρησιμοποιείτε υπογραφές ECDSA για οποιονδήποτε από αυτούς τους μηχανισμούς ασφαλείας, τότε ένας εισβολέας μπορεί να τους παρακάμψει επιπόλαια και εντελώς εάν ο διακομιστής σας εκτελεί οποιαδήποτε έκδοση Java 15, 16, 17 ή 18.”
Έκτοτε, το ζήτημα αντιμετωπίζεται από την Oracle ως μέρος της τριμηνιαίας Ενημερωμένης έκδοσης Κρίσιμης Ενημερωμένης έκδοσης (CPU) Απριλίου 2022 που κυκλοφόρησε στις 19 Απριλίου 2022.
Υπό το φως της κυκλοφορίας του PoC, οι οργανισμοί που χρησιμοποιούν Java 15, Java 16, Java 17 ή Η Java 18 στα περιβάλλοντά της συνιστάται να δίνει προτεραιότητα στις ενημερώσεις κώδικα για να μετριάσει τις προσπάθειες ενεργητικής εκμετάλλευσης.