MatrixSSL 4.0.1 Open zawiera podatność typu stack-based buffer overflow w funkcji pubRsaDecryptSignedElementExt, wyzwalaną podczas weryfikacji certyfikatu X.509. Podatność może zostać wykorzystana zdalnie bez uwierzytelnienia, co czyni ją wyjątkowo niebezpieczną w kontekście komunikacji TLS.
▸ Pokaż oryginał (EN)
pubRsaDecryptSignedElementExt in MatrixSSL 4.0.1 Open, as used in Inside Secure TLS Toolkit, has a stack-based buffer overflow during X.509 certificate verification because of missing validation in psRsaDecryptPubExt in crypto/pubkey/rsa_pub.c.
Błąd występuje w funkcji psRsaDecryptPubExt w pliku crypto/pubkey/rsa_pub.c — brakuje tam odpowiedniej walidacji danych wejściowych podczas operacji deszyfrowania RSA. Gdy klient lub serwer przetwarza spreparowany certyfikat X.509 podczas nawiązywania połączenia TLS, nadmiarowe dane przepełniają bufor na stosie (stack-based buffer overflow). Atakujący może dostarczyć złośliwy certyfikat, który zostanie przetworzony przez podatny kod bez wcześniejszego uwierzytelnienia.
Atakujący może uzyskać pełną kontrolę nad podatnym procesem, co w praktyce oznacza możliwość wykonania dowolnego kodu (RCE) w kontekście aplikacji korzystającej z biblioteki MatrixSSL lub Inside Secure TLS Toolkit, a także naruszenie poufności i integralności danych.
Należy zaktualizować MatrixSSL do wersji 4.0.2 Open lub nowszej, dostępnej pod adresem: https://github.com/matrixssl/matrixssl/releases/tag/4-0-2-open. Producenci produktów opartych na Inside Secure TLS Toolkit powinni skontaktować się z dostawcą w celu uzyskania odpowiednich patchy.
MatrixSSL 4.0.1 Open oraz produkty korzystające z Inside Secure TLS Toolkit opartego na tej wersji biblioteki.
Podatność została zgłoszona w ramach projektu Google Project Zero (issue #1785). Szczegóły techniczne opublikowano na liście oss-security w dniu 2019-02-15.
CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:HMatrixssl
APPMatrixssl≤ 4.0.2
Powiązane podatności
MatrixSSL DTLS: heap buffer overflow umożliwiający RCE
MatrixSSL: odczyt poza granicami bufora podczas przetwarzania ASN.1
Heap buffer overflow w parsowaniu certyfikatów X.509 w MatrixSSL
Przepełnienie bufora heap w parsowaniu certyfikatów X509 w MatrixSSL
Heap-based buffer overflow w MatrixSSL via pole Subject Alt Name certyfikatu X.509