Podatność w bibliotece MatrixSSL przed wersją 3.8.6 umożliwia zdalnym atakującym wykonanie dowolnego kodu (RCE) przez spreparowane pole Subject Alt Name w certyfikacie X.509. Ze względu na brak wymagań uwierzytelnienia i zdalny wektor ataku podatność jest krytyczna, szczególnie w kontekście urządzeń IoT.
▸ Pokaż oryginał (EN)
Heap-based buffer overflow in MatrixSSL before 3.8.6 allows remote attackers to execute arbitrary code via a crafted Subject Alt Name in an X.509 certificate.
Biblioteka MatrixSSL nieprawidłowo waliduje długość lub zawartość pola Subject Alt Name (SAN) podczas przetwarzania certyfikatów X.509. Atakujący może podsunąć ofierze spreparowany certyfikat zawierający złośliwie skonstruowane pole SAN, co powoduje przepełnienie bufora na stercie (heap-based buffer overflow, CWE-119). Nadpisanie pamięci sterty pozwala na kontrolowanie przepływu wykonania programu i dostarczenie payload'u wykonującego się w kontekście procesu obsługującego połączenie TLS/SSL.
Pomyślne wykorzystanie podatności umożliwia atakującemu zdalne wykonanie dowolnego kodu (RCE) na podatnym systemie bez żadnego uwierzytelnienia, co może prowadzić do pełnego przejęcia kontroli nad urządzeniem lub serwerem korzystającym z biblioteki MatrixSSL.
Należy zaktualizować bibliotekę MatrixSSL do wersji 3.8.6 lub nowszej, w której problem został naprawiony. Szczegóły zmiany dostępne są w pliku CHANGES.md repozytorium producenta na GitHub. W przypadku niemożności natychmiastowej aktualizacji zaleca się ograniczenie akceptacji certyfikatów wyłącznie do zaufanych źródeł oraz monitorowanie ruchu TLS pod kątem anomalii.
MatrixSSL w wersjach wcześniejszych niż 3.8.6
Podatność została szczegółowo opisana w kontekście praktyk aktualizacji oprogramowania w środowiskach IoT, gdzie biblioteki SSL/TLS są często trudne do zaktualizowania ze względu na specyfikę urządzeń wbudowanych (źródło: Tripwire State of Security oraz CERT/CC VU#396440).
CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:HMatrixssl
APPMatrixssl≤ 3.8.5
Powiązane podatności
MatrixSSL DTLS: heap buffer overflow umożliwiający RCE
MatrixSSL: odczyt poza granicami bufora podczas przetwarzania ASN.1
Stack-based buffer overflow w MatrixSSL podczas weryfikacji certyfikatu X.509
Przepełnienie bufora heap w parsowaniu certyfikatów X509 w MatrixSSL
Heap buffer overflow w parsowaniu certyfikatów X.509 w MatrixSSL