首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >GnuPG漏洞(CVE-2018-12020) 修复

GnuPG漏洞(CVE-2018-12020) 修复

原创
作者头像
陈捷
发布2021-12-01 19:42:44
9230
发布2021-12-01 19:42:44
举报
文章被收录于专栏:安全产品参考安全产品参考

GnuPG代码问题漏洞(CVE-2018-12020) 修复

GnuPG 在2.2.7版本之前已存在高危漏洞。 原因是源代码文件mainproc.c中代码存在漏洞,这将会导致在文件名清理不当的情况下,允许显示虚假状态消息并绕过签名验证

如GnuPG 2.2.7版本以及之前的版本是通过编译安装部署,建议升级到2.2.8版本,以修复此漏洞

漏洞描述:http://www.cnnvd.org.cn/web/xxk/ldxqById.tag?CNNVD=CNNVD-201806-580

下面是修复步骤参考

0、备份

如为云服务器,在升级前请备份服务器镜像,避免升级失败或兼容问题导致业务受到影响

1、安装前的准备

1.1 libgpg-error依赖安装

wget https://www.gnupg.org/ftp/gcrypt/libgpg-error/libgpg-error-1.40.tar.bz2 --no-check-certificate
tar -jxvf libgpg-error-1.40.tar.bz2 
cd libgpg-error-1.40/
./configure
make && make install
echo $?
gpg-error --version

1.2 libgcrypt依赖安装

wget https://www.gnupg.org/ftp/gcrypt/libgcrypt/libgcrypt-1.7.0.tar.bz2 --no-check-certificate
tar -jxvf libgcrypt-1.7.0.tar.bz2 
cd libgcrypt-1.7.0/
./configure
make && make install
echo $?
libgcrypt-config --version

1.3 libassuan依赖安装

wget https://www.gnupg.org/ftp/gcrypt/libassuan/libassuan-2.5.1.tar.bz2 --no-check-certificate
tar -jxvf  libassuan-2.5.1.tar.bz2
cd libassuan-2.5.1/
./configure
make && make install
echo $?
libassuan-config --version

1.4 npth依赖安装

wget https://gnupg.org/ftp/gcrypt/npth/npth-1.2.tar.bz2 --no-check-certificate
tar -jxvf  npth-1.2.tar.bz2 
cd npth-1.2/
./configure
make && make install
echo $?
npth-config --version

1.5 libksba 依赖安装

wget https://gnupg.org/ftp/gcrypt/libksba/libksba-1.3.4.tar.bz2 --no-check-certificate
tar -jxvf  libksba-1.3.4.tar.bz2 
cd libksba-1.3.4/
./configure
make && make install
ksba-config --version

2、开始升级gnupg版本

wget https://www.gnupg.org/ftp/gcrypt/gnupg/gnupg-2.2.8.tar.bz2 --no-check-certificate
tar -xvjf gnupg-2.2.8.tar.bz2
cd gnupg-2.2.8
./configure
make && make install
echo $?
gpg --version

3、其它问题补充

3.1 库依赖问题

如执行gpg --version

报错

gpg: error while loading shared libraries: libgcrypt.so.20: cannot open shared object file: No such file or directory

解决方法

执行

whereis libgcrypt.so.20

查看,库文件的地址,比如返回的路径为:/usr/local/lib/libgcrypt.so.20

则将库写入环境变量即可,如下代码:

echo "export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH"  >> /etc/profile.d/gpg.sh
source /etc/profile.d/gpg.sh

3.2 编译问题

编译安装 gnupg-2.2.8请安装较高版本的libgpg-error依赖,不要使用1.2.4版本,否则编译会出错

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • GnuPG代码问题漏洞(CVE-2018-12020) 修复
    • 0、备份
      • 1、安装前的准备
        • 1.1 libgpg-error依赖安装
        • 1.2 libgcrypt依赖安装
        • 1.3 libassuan依赖安装
        • 1.4 npth依赖安装
        • 1.5 libksba 依赖安装
      • 2、开始升级gnupg版本
        • 3、其它问题补充
          • 3.1 库依赖问题
          • 3.2 编译问题
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档