La dernière vulnérabilité
OpenSSL OpenSSL a officiellement publié un avis de risque de vulnérabilité de déni de service, le numéro de vulnérabilité est CVE-2020-1971
Détails sur la vulnérabilité
OpenSSL est un package de bibliothèque de logiciels open source, l'application peut utiliser ce package pour protéger les données, empêcher le vol d' écouter **, tandis que l'autre extrémité est connectée pour confirmer l'identité de la personne. Ce package est largement utilisé sur les serveurs Web sur Internet.
Lorsque OpenSSL traite EDIPatyName (identificateur de type X.509 GeneralName), il existe un déréférencement de pointeur nul, ce qui provoque le blocage du programme et le déni de service. La personne *** peut déclencher la vulnérabilité en construisant un processus de vérification de certificat spécial et amener le serveur à refuser le service.
Haut niveau de risque
Risque de
vulnérabilité La vulnérabilité exploitée peut conduire à un déni de service
Version concernée
OpenSSL: 1.0.2-1.0.2w
OpenSSL: 1.1.1-1.1.1h
Version sécurisée
OpenSSL: 1.1.1i
OpenSSL: 1.0.2x
Suggestion de réparation
pour mettre à niveau OpenSSL vers 1.1.1i, 1.0.2x ou la dernière version
[Remarques]: Il est recommandé de faire un bon travail de sauvegarde des données avant la mise à niveau pour éviter les accidents
Référence de vulnérabilité
https://www.openssl.org/news/vulnerabilities-1.1.1.html#CVE-2020-1971
https://www.openssl.org/news/vulnerabilities-1.0.2.html#CVE-2020-1971
- Le paquetage rpm OpenSSL1.1.1i
peut être automatiquement empaqueté directement à l'aide du script shell suivant.
#!/bin/bash
set -e
set -v
if [[ ! -f "/root/openssl-1.1.1i.tar.gz" ]];then
wget -O /root/openssl-1.1.1i.tar.gz https://www.openssl.org/source/openssl-1.1.1i.tar.gz
fi
mkdir ~/openssl && cd ~/openssl
yum -y install \
curl \
which \
make \
gcc \
perl \
perl-WWW-Curl \
rpm-build
# Get openssl tarball
if [[ ! -f "./openssl-1.1.1i.tar.gz" ]];then
cp /root/openssl-1.1.1i.tar.gz ./
fi
# SPEC file
cat << 'EOF' > ~/openssl/openssl.spec
Summary: OpenSSL 1.1.1i for Centos
Name: openssl
Version: %{?version}%{!?version:1.1.1i}
Release: 1%{?dist}
Obsoletes: %{name} <= %{version}
Provides: %{name} = %{version}
URL: https://www.openssl.org/
License: GPLv2+
Source: https://www.openssl.org/source/%{name}-%{version}.tar.gz
BuildRequires: make gcc perl perl-WWW-Curl
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root
%global openssldir /usr/local/openssl
%description
OpenSSL RPM for version 1.1.1i on Centos
%package devel
Summary: Development files for programs which will use the openssl library
Group: Development/Libraries
Requires: %{name} = %{version}-%{release}
%description devel
OpenSSL RPM for version 1.1.1i on Centos (development package)
%prep
%setup -q
%build
./config --prefix=%{openssldir} --openssldir=%{openssldir}
make
%install
[ "%{buildroot}" != "/" ] && %{__rm} -rf %{buildroot}
%make_install
mkdir -p %{buildroot}%{_bindir}
mkdir -p %{buildroot}%{_libdir}
ln -sf %{openssldir}/lib/libssl.so.1.1 %{buildroot}%{_libdir}
ln -sf %{openssldir}/lib/libcrypto.so.1.1 %{buildroot}%{_libdir}
ln -sf %{openssldir}/bin/openssl %{buildroot}%{_bindir}
%clean
[ "%{buildroot}" != "/" ] && %{__rm} -rf %{buildroot}
%files
%{openssldir}
%defattr(-,root,root)
/usr/bin/openssl
/usr/lib64/libcrypto.so.1.1
/usr/lib64/libssl.so.1.1
%files devel
%{openssldir}/include/*
%defattr(-,root,root)
%post -p /sbin/ldconfig
%postun -p /sbin/ldconfig
EOF
mkdir -p /root/rpmbuild/{BUILD,RPMS,SOURCES,SPECS,SRPMS}
cp ~/openssl/openssl.spec /root/rpmbuild/SPECS/openssl.spec
mv openssl-1.1.1i.tar.gz /root/rpmbuild/SOURCES
cd /root/rpmbuild/SPECS && \
rpmbuild \
-D "version 1.1.1i" \
-ba openssl.spec
# Before Uninstall Openssl : rpm -qa openssl
# Uninstall Current Openssl Vesion : yum -y remove openssl
# For install: rpm -ivvh /root/rpmbuild/RPMS/x86_64/openssl-1.1.1i-1.el7.x86_64.rpm --nodeps
# or rpm -Uvh openssl-1.1.1i-1.el7.x86_64.rpm --nodeps --force
# Verify install: rpm -qa openssl
# openssl version
J'ai utilisé:
rpm -Uvh openssl-1.1.1i-1.el7.x86_64.rpm --nodeps --force