!11 fix CVE-2021-3200
From: @eaglegai Reviewed-by: @orange-snn Signed-off-by: @orange-snn
This commit is contained in:
commit
0cb4440f5f
63
CVE-2021-3200.patch
Normal file
63
CVE-2021-3200.patch
Normal file
@ -0,0 +1,63 @@
|
|||||||
|
From 0077ef29eb46d2e1df2f230fc95a1d9748d49dec Mon Sep 17 00:00:00 2001
|
||||||
|
From: Michael Schroeder <mls@suse.de>
|
||||||
|
Date: Mon, 14 Dec 2020 11:12:00 +0100
|
||||||
|
Subject: [PATCH] testcase_read: error out if repos are added or the system is
|
||||||
|
changed too late
|
||||||
|
|
||||||
|
We must not add new solvables after the considered map was created, the solver
|
||||||
|
was created, or jobs were added. We may not changed the system after jobs have
|
||||||
|
been added.
|
||||||
|
|
||||||
|
(Jobs may point inside the whatproviedes array, so we must not invalidate this
|
||||||
|
area.)
|
||||||
|
---
|
||||||
|
ext/testcase.c | 21 +++++++++++++++++++++
|
||||||
|
1 file changed, 21 insertions(+)
|
||||||
|
|
||||||
|
diff --git a/ext/testcase.c b/ext/testcase.c
|
||||||
|
index 0be7a213..8fb6d793 100644
|
||||||
|
--- a/ext/testcase.c
|
||||||
|
+++ b/ext/testcase.c
|
||||||
|
@@ -1991,6 +1991,7 @@ testcase_read(Pool *pool, FILE *fp, const char *testcase, Queue *job, char **res
|
||||||
|
Id *genid = 0;
|
||||||
|
int ngenid = 0;
|
||||||
|
Queue autoinstq;
|
||||||
|
+ int oldjobsize = job ? job->count : 0;
|
||||||
|
|
||||||
|
if (resultp)
|
||||||
|
*resultp = 0;
|
||||||
|
@@ -2065,6 +2066,21 @@ testcase_read(Pool *pool, FILE *fp, const char *testcase, Queue *job, char **res
|
||||||
|
int prio, subprio;
|
||||||
|
const char *rdata;
|
||||||
|
|
||||||
|
+ if (pool->considered)
|
||||||
|
+ {
|
||||||
|
+ pool_error(pool, 0, "testcase_read: cannot add repos after packages were disabled");
|
||||||
|
+ continue;
|
||||||
|
+ }
|
||||||
|
+ if (solv)
|
||||||
|
+ {
|
||||||
|
+ pool_error(pool, 0, "testcase_read: cannot add repos after the solver was created");
|
||||||
|
+ continue;
|
||||||
|
+ }
|
||||||
|
+ if (job && job->count != oldjobsize)
|
||||||
|
+ {
|
||||||
|
+ pool_error(pool, 0, "testcase_read: cannot add repos after jobs have been created");
|
||||||
|
+ continue;
|
||||||
|
+ }
|
||||||
|
prepared = 0;
|
||||||
|
if (!poolflagsreset)
|
||||||
|
{
|
||||||
|
@@ -2125,6 +2141,11 @@ testcase_read(Pool *pool, FILE *fp, const char *testcase, Queue *job, char **res
|
||||||
|
int i;
|
||||||
|
|
||||||
|
/* must set the disttype before the arch */
|
||||||
|
+ if (job && job->count != oldjobsize)
|
||||||
|
+ {
|
||||||
|
+ pool_error(pool, 0, "testcase_read: cannot change the system after jobs have been created");
|
||||||
|
+ continue;
|
||||||
|
+ }
|
||||||
|
prepared = 0;
|
||||||
|
if (strcmp(pieces[2], "*") != 0)
|
||||||
|
{
|
||||||
|
|
||||||
11
libsolv.spec
11
libsolv.spec
@ -15,11 +15,14 @@
|
|||||||
|
|
||||||
Name: libsolv
|
Name: libsolv
|
||||||
Version: 0.7.14
|
Version: 0.7.14
|
||||||
Release: 2
|
Release: 3
|
||||||
Summary: Package dependency solver
|
Summary: Package dependency solver
|
||||||
License: BSD
|
License: BSD
|
||||||
URL: https://github.com/openSUSE/libsolv
|
URL: https://github.com/openSUSE/libsolv
|
||||||
Source: https://github.com/openSUSE/libsolv/archive/%{version}/%{name}-%{version}.tar.gz
|
Source: https://github.com/openSUSE/libsolv/archive/%{version}/%{name}-%{version}.tar.gz
|
||||||
|
|
||||||
|
Patch0: CVE-2021-3200.patch
|
||||||
|
|
||||||
BuildRequires: cmake gcc-c++ ninja-build pkgconfig(rpm) zlib-devel
|
BuildRequires: cmake gcc-c++ ninja-build pkgconfig(rpm) zlib-devel
|
||||||
BuildRequires: libxml2-devel xz-devel bzip2-devel libzstd-devel
|
BuildRequires: libxml2-devel xz-devel bzip2-devel libzstd-devel
|
||||||
Requires: %{_bindir}/find %{_bindir}/curl %{_bindir}/gpg2 %{name}-help
|
Requires: %{_bindir}/find %{_bindir}/curl %{_bindir}/gpg2 %{name}-help
|
||||||
@ -186,6 +189,12 @@ Python 3 version.
|
|||||||
%{_mandir}/man3/%{name}*.3*
|
%{_mandir}/man3/%{name}*.3*
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Fri May 28 2021 gaihuiying <gaihuiying1@huawei.com> - 0.7.14-3
|
||||||
|
- Type:cves
|
||||||
|
- CVE:CVE-2021-3200
|
||||||
|
- SUG:NA
|
||||||
|
- DESC:fix CVE-2021-3200
|
||||||
|
|
||||||
* Mon Nov 09 2020 xihaochen <xihaochen@huawei.com> - 0.7.14-2
|
* Mon Nov 09 2020 xihaochen <xihaochen@huawei.com> - 0.7.14-2
|
||||||
- Type:requirement
|
- Type:requirement
|
||||||
- CVE:NA
|
- CVE:NA
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user