Taggat med: ASN.1

Två nya sårbarheter i OpenSSL

Den som följer mig på LinkedIn vet att jag flaggade upp för en eller flera nya sårbarheter i OpenSSL. Idag den 24:de Augusti så släpptes informationen om dessa.

Sårbarheterna återfinnes dels i ASN.1-hanteringen (no suprise) samt hanteringen av SM2-signaturer. SM2 är framtaget av Kina och återfinnes som standarden ISO/IEC 14888 (GM/T 0003-2012).

Gällande ASN.1 så skriver OpenSSL-projektet följande:

If a malicious actor can cause an application to directly construct an ASN1_STRING and then process it through one of the affected OpenSSL functions then this issue could be hit. This might result in a crash (causing a Denial of Service attack). It could also result in the disclosure of private memory contents (such as private keys, or sensitive plaintext).

Sårbara funktioner listas bl.a. X509_get1_email(), X509_REQ_get1_email() och X509_get1_ocsp().

Den allvarligaste är SM2-hanteringen som är en buffer-overflow, men troligtvis används av färre.

Varför är dessa två sårbarheterna allvarliga? Jo det är så att OpenSSL och dess olika forkar såsom BoringSSL återfinnes i många hundratals miljoner enheter och mjukvaror. Att patcha och åtgärda sårbarheter kommer att ta otroligt lång tid.

Mer information om sårbarheterna hittar du här: https://www.openssl.org/news/vulnerabilities.html

Ny version av OpenSSL åtgärdar allvarliga brister

OpenSSLOpenSSL åtgärdade nyligen sex stycken identifierade sårbarheter. De två allvarligaste bristerna var minneskorruption i ASN.1-avkodaren samt en som möjliggör padding-attacker mot AES-NI CBC MAC.

Att hantera ASN.1 från okända källor är något som är otroligt svårt och komplext och därmed finns en hög sannolikhet för sårbarheter. För just denna allvarliga bugg är resultatet av två andra icke allvarliga buggar.

Samtliga åtgärdade sårbarheter med CVE

  • Memory corruption in the ASN.1 encoder (CVE-2016-2108)
  • Padding oracle in AES-NI CBC MAC check (CVE-2016-2107)
  • EVP_EncodeUpdate overflow (CVE-2016-2105)
  • EVP_EncryptUpdate overflow (CVE-2016-2106)
  • ASN.1 BIO excessive memory allocation (CVE-2016-2109)
  • EBCDIC overread (CVE-2016-2176)

Uppgradera till följande versioner:

  • OpenSSL 1.0.2h  för 1.0.2 användare
  • OpenSSL 1.0.1t  för 1.0.1 användare

Och som vanligt finns mer information att hitta på openssl.org

Även så har det nyligen uppdagats att nyckelderiveringen för kommandot openssl enc enbart består av en runda md5. Detta är otroligt svagt och därför bör openssl undvikas när det gäller kryptering av filer, och det gäller inte enbart openssl enc utan även liknande kommandon såsom openssl aes-256-cbc -a, läs mer här:

https://cryptosense.com/weak-key-derivation-in-openssl/