UCloud-202205-002:OpenSSL 命令注入漏洞(CVE-2022-1292)

漏洞描述

近日,OpenSSL官方发布OpenSSL命令注入漏洞(CVE-2022-1292)通告。该漏洞由于c_rehash脚本未对外部可控数据进行有效过滤,导致可操作/etc/ssl/certs/目录的攻击者注入恶意命令,从而以该脚本的权限执行任意命令。

影响版本

OpenSSL 1.0.2

OpenSSL 1.1.1

OpenSSL 3.x

漏洞影响排查方法

可以通过看系统c_rehash脚本分析是否存在该漏洞,该脚本可以通过whereis命令或者find命令查询位置。

whereis c_rehash

sudo find / -name "c_rehash"

查看该脚本是否存在下面四行代码:

$fname =~ s/'/'\''/g;

my ($hash, $fprint) = "$openssl" x509 $x509hash -fingerprint -noout -in "$fname";

$fname =~ s/'/'\''/g;

my ($hash, $fprint) = "$openssl" crl $crlhash -fingerprint -noout -in '$fname';

如果存在这四行代码说明该脚本存在注入漏洞。

解决方案

目前,官方已发布可更新版本,用户可升级OpenSSL版本:

如果存在这四行代码说明该脚本存在注入漏洞。

OpenSSL 1.0.2 升级至 1.0.2ze (仅针对高级用户);

OpenSSL 1.1.1 升级至 1.1.1o;

OpenSSL 3.0 升级至 3.0.3;

参照:https://www.openssl.org/source/

建议:由于目前c_rehash脚本已被标记为过时,推荐使用OpenSSL rehash代替c_rehash。