OpenSSL RCE 漏洞危害好几个Synology商品。
台湾NAS生产商Synology近日公布了影响到其商品的2个远程控制执行命令漏洞和DoS OpenSSL漏洞,CVE识别码为CVE-2021-3711和CVE-2021-3712。
CVE-2021-3711
为破译SM2数据加密的数据信息,运用必须调用API函数EVP_PKEY_decrypt()。一般来说,运用会调用该函数2次。第一次,函数的out 主要参数为NULL,撤出时outlen主要参数相当于破译密文需要的缓存尺寸。随后运用会分派充足尺寸的缓存并再度调用EVP_PKEY_decrypt(),此次调用时out主要参数为非空值。
该漏洞是SM2破译编码完成中的一个漏洞,从总体上是第一次调用EVP_PKEY_decrypt()测算获得的破译密文需要的缓存尺寸可以低于第二次调用的实际尺寸。这会致使运用第二次调用 EVP_PKEY_decrypt() 时因为缓存过小引起缓存外溢。可以向运用展现破译SM2內容的故意网络攻击可以改动缓存数据信息的內容引起较大62字节数的外溢,更改运用个人行为或引起运用崩溃。缓存的部位与实际运用相关,但全是堆分派的。该漏洞CVSS3得分8.1分,危害OpenSSL 1.1.1-1.1.1k版本,现阶段已在 OpenSSL 1.1.1l版本中修补。
CVE-2021-3712
ASN.1字符串数组在OpenSSL中以ASN1_STRING构造的方式表明,包括一个表明字符串数组数据信息的缓存和表明缓存长短的域。而常规的C字符串数组是以NUL (0)字节数完毕的字符串数组数据信息方式来表明缓存的。尽管并不是严格管理,应用OpenSSL内置的d2i函数解决的ASN.1字符串数组及其用 ASN1_STRING_set() 函数设定的字符串数组都是会以NUL完毕。可是在ASN1_STRING二维数组中,运用可以立即设定data域和length域来搭建不因NUL完毕的合理有效的ASN1_STRING构造。实际可以应用ASN1_STRING_set0()函数来完成。
但大部分打印出ASN.1 数据信息的OpenSSL函数都假设ASN1_STRING字符串数组是以NUL完毕的。当运用要求打印出ASN.1构造,而ASN.1结构中包括不因NUL末尾的数据信息域的ASN1_STRING时,便会引起读缓存外溢。这一问题一样可以发生在资格证书解决中,包含X509_get1_email()、X509_REQ_get1_email() 和 X509_get1_ocsp() 函数。假如故意网络攻击可以让运用立即搭建一个ASN1_STRING,随后根据受影响的OpenSSL函数来参加,就可以引起DoS进攻和运用崩溃。运用于资格证书进攻时很有可能引起个人隐私运行内存內容泄漏,例如公钥和比较敏感密文信息内容。该漏洞危害OpenSSL 1.1.1-1.1.1k和OpenSSL 1.0.2-1.0.2y版本,现阶段已在OpenSSL 1.1.1j 和OpenSSL 1.0.2za版本中修补。
受影响的商品
受影响的产品包含Synology DiskStation Manager (DSM)、Synology Router Manager (SRM)、互联网络Plus 网络服务器和虚拟服务器,实际包含:
文中翻譯自:https://www.synology.com/en-us/security/advisory/Synology_SA_21_24倘若转截,请标明全文详细地址。