From ad2a30f56957e1afa3354d27422853827e3518a9 Mon Sep 17 00:00:00 2001 From: eabdullin Date: Wed, 24 Jan 2024 21:06:24 +0000 Subject: [PATCH] import UBI sqlite-3.34.1-7.el9_3 --- SOURCES/sqlite-3.34.1-CVE-2023-7104.patch | 42 +++++++++++++++++++++++ SPECS/sqlite.spec | 21 +++++++----- 2 files changed, 55 insertions(+), 8 deletions(-) create mode 100644 SOURCES/sqlite-3.34.1-CVE-2023-7104.patch diff --git a/SOURCES/sqlite-3.34.1-CVE-2023-7104.patch b/SOURCES/sqlite-3.34.1-CVE-2023-7104.patch new file mode 100644 index 0000000..6b9c1b7 --- /dev/null +++ b/SOURCES/sqlite-3.34.1-CVE-2023-7104.patch @@ -0,0 +1,42 @@ +From 09f1652f36c5c4e8a6a640ce887f9ea0f48a7958 Mon Sep 17 00:00:00 2001 +From: dan +Date: Thu, 7 Sep 2023 13:53:09 +0000 +Subject: [PATCH] Fix a buffer overread in the sessions extension that could + occur when processing a corrupt changeset. + +FossilOrigin-Name: 0e4e7a05c4204b47a324d67e18e76d2a98e26b2723d19d5c655ec9fd2e41f4b7 + +diff --git a/ext/session/sqlite3session.c b/ext/session/sqlite3session.c +index 9f862f2465..0491549231 100644 +--- a/ext/session/sqlite3session.c ++++ b/ext/session/sqlite3session.c +@@ -2811,15 +2811,19 @@ static int sessionReadRecord( + } + } + if( eType==SQLITE_INTEGER || eType==SQLITE_FLOAT ){ +- sqlite3_int64 v = sessionGetI64(aVal); +- if( eType==SQLITE_INTEGER ){ +- sqlite3VdbeMemSetInt64(apOut[i], v); ++ if( (pIn->nData-pIn->iNext)<8 ){ ++ rc = SQLITE_CORRUPT_BKPT; + }else{ +- double d; +- memcpy(&d, &v, 8); +- sqlite3VdbeMemSetDouble(apOut[i], d); ++ sqlite3_int64 v = sessionGetI64(aVal); ++ if( eType==SQLITE_INTEGER ){ ++ sqlite3VdbeMemSetInt64(apOut[i], v); ++ }else{ ++ double d; ++ memcpy(&d, &v, 8); ++ sqlite3VdbeMemSetDouble(apOut[i], d); ++ } ++ pIn->iNext += 8; + } +- pIn->iNext += 8; + } + } + } +-- +2.43.0 + diff --git a/SPECS/sqlite.spec b/SPECS/sqlite.spec index 5cfc43b..6779cad 100644 --- a/SPECS/sqlite.spec +++ b/SPECS/sqlite.spec @@ -12,7 +12,7 @@ Summary: Library that implements an embeddable SQL database engine Name: sqlite Version: %{rpmver} -Release: 6%{?dist} +Release: 7%{?dist} License: Public Domain URL: http://www.sqlite.org/ @@ -35,6 +35,7 @@ Patch5: sqlite-3.18.0-sync2-dirsync.patch Patch6: sqlite-3.34.1-covscan-rhel-9.patch # Fixed CVE-2022-35737 Patch7: sqlite-3.26.0-CVE-2022-35737.patch +Patch8: sqlite-3.34.1-CVE-2023-7104.patch BuildRequires: make BuildRequires: gcc @@ -136,15 +137,16 @@ This package contains the analysis program for %{name}. %prep %setup -q -a1 -n %{name}-src-%{realver} -%patch1 -p1 -%patch2 -p1 -%patch3 -p1 +%patch -P 1 -p1 +%patch -P 2 -p1 +%patch -P 3 -p1 %ifarch %{ix86} -%patch4 -p1 +%patch -P 4 -p1 %endif -%patch5 -p1 -%patch6 -p1 -%patch7 -p1 +%patch -P 5 -p1 +%patch -P 6 -p1 +%patch -P 7 -p1 +%patch -P 8 -p1 # Remove backup-file rm -f %{name}-doc-%{docver}/sqlite.css~ || : @@ -262,6 +264,9 @@ make test %endif %changelog +* Wed Jan 03 2024 Zuzana Miklankova - 3.34.1-7 +- Fixes CVE-2023-7104 + * Fri Nov 18 2022 Zuzana Miklankova - 3.34.1-6 - Fixes CVE-2022-35737