Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package chromium for openSUSE:Factory checked in at 2021-08-12 09:00:54 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/chromium (Old) and /work/SRC/openSUSE:Factory/.chromium.new.1899 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "chromium" Thu Aug 12 09:00:54 2021 rev:301 rq:910522 version:92.0.4515.131 Changes: -------- --- /work/SRC/openSUSE:Factory/chromium/chromium.changes 2021-08-04 22:28:52.293802960 +0200 +++ /work/SRC/openSUSE:Factory/.chromium.new.1899/chromium.changes 2021-08-12 09:01:33.878160733 +0200 @@ -1,0 +2,17 @@ +Fri Aug 6 16:51:50 UTC 2021 - Callum Farmer <gm...@opensuse.org> + +- Chromium 92.0.4515.131 (boo#1189006) + * CVE-2021-30590: Heap buffer overflow in Bookmarks + * CVE-2021-30591: Use after free in File System API + * CVE-2021-30592: Out of bounds write in Tab Groups + * CVE-2021-30593: Out of bounds read in Tab Strip + * CVE-2021-30594: Use after free in Page Info UI + * CVE-2021-30596: Incorrect security UI in Navigation + * CVE-2021-30597: Use after free in Browser UI +- Removed patches: + * chromium-92-GetUsableSize-nullptr.patch +- Added patches: + * chromium-no-writeprotection.patch + * chromium-glibc-2.34.patch + +------------------------------------------------------------------- Old: ---- chromium-92-GetUsableSize-nullptr.patch chromium-92.0.4515.107.tar.xz New: ---- chromium-92.0.4515.131.tar.xz chromium-glibc-2.34.patch chromium-no-writeprotection.patch ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ chromium.spec ++++++ --- /var/tmp/diff_new_pack.FXEDCu/_old 2021-08-12 09:01:37.754154551 +0200 +++ /var/tmp/diff_new_pack.FXEDCu/_new 2021-08-12 09:01:37.758154545 +0200 @@ -15,6 +15,7 @@ # Please submit bugfixes or comments via https://bugs.opensuse.org/ # + %if "%{?suse_version}" >= "1550" %define clang_version %{nil} %endif @@ -49,7 +50,7 @@ %bcond_with lto %bcond_without clang Name: chromium -Version: 92.0.4515.107 +Version: 92.0.4515.131 Release: 0 Summary: Google's open source browser project License: BSD-3-Clause AND LGPL-2.1-or-later @@ -101,9 +102,10 @@ Patch44: chromium-91-libyuv-aarch64.patch Patch46: chromium-91-sql-standard-layout-type.patch Patch47: chromium-92-v8-constexpr.patch -Patch48: chromium-92-GetUsableSize-nullptr.patch Patch49: chromium-freetype-2.11.patch Patch50: chromium-clang-nomerge.patch +Patch51: chromium-glibc-2.34.patch +Patch52: chromium-no-writeprotection.patch # Google seem not too keen on merging this but GPU accel is quite important # https://chromium-review.googlesource.com/c/chromium/src/+/532294 # https://github.com/saiarcot895/chromium-ubuntu-build/tree/master/debian/patches @@ -117,6 +119,7 @@ BuildRequires: bison BuildRequires: cups-devel BuildRequires: desktop-file-utils +BuildRequires: elfutils BuildRequires: fdupes BuildRequires: flex BuildRequires: gn >= 0.1807 @@ -225,14 +228,14 @@ Requires(pre): permissions Recommends: noto-coloremoji-fonts Conflicts: chromium-browser +Provides: %{name}-suid-helper = %{version} Provides: chromium-based-browser = %{version} Provides: chromium-browser = %{version} Provides: web_browser -Provides: %{name}-suid-helper = %{version} Obsoletes: %{name}-suid-helper < %{version} -Obsoletes: chromium-browser < %{version} Obsoletes: chromium-beta-desktop-gnome < %{version} Obsoletes: chromium-beta-desktop-kde < %{version} +Obsoletes: chromium-browser < %{version} Obsoletes: chromium-desktop-gnome < %{version} Obsoletes: chromium-desktop-kde < %{version} Obsoletes: chromium-dev-desktop-gnome < %{version} @@ -240,7 +243,7 @@ Obsoletes: chromium-ffmpeg < %{version} Obsoletes: chromium-ffmpegsumo < %{version} # no 32bit supported and it takes ages to build -ExcludeArch: %{ix86} %{arm} ppc ppc64 ppc64le s390 s390x +ExclusiveArch: x86_64 aarch64 riscv64 %if 0%{?suse_version} <= 1500 BuildRequires: pkgconfig(glproto) %endif @@ -299,6 +302,9 @@ mkdir -p third_party/node/linux/node-linux-x64/bin ln -s %{_bindir}/node third_party/node/linux/node-linux-x64/bin/node +rm buildtools/third_party/eu-strip/bin/eu-strip +ln -s %{_bindir}/eu-strip buildtools/third_party/eu-strip/bin/eu-strip + # Remove bundled libs keeplibs=( base/third_party/cityhash @@ -584,6 +590,9 @@ export CXXFLAGS="${CXXFLAGS} -Wno-address -Wno-dangling-else" # for wayland export CXXFLAGS="${CXXFLAGS} -I/usr/include/wayland -I/usr/include/libxkbcommon" +%if %{with clang} +export LDFLAGS="${LDFLAGS} -Wl,--build-id=sha1" +%endif %ifarch aarch64 %if %{without clang} export CXXFLAGS="${CXXFLAGS} -flax-vector-conversions" @@ -653,6 +662,9 @@ %ifarch x86_64 myconf_gn+=" target_cpu=\"x64\"" %endif +%ifarch riscv64 +myconf_gn+=" target_cpu=\"riscv64\"" +%endif myconf_gn+=" target_os=\"linux\"" myconf_gn+=" is_debug=false" myconf_gn+=" enable_nacl=false" @@ -796,7 +808,7 @@ %endif # chromedriver -cp -a chromedriver %{buildroot}%{_libdir}/chromium/ +cp -a chromedriver.unstripped %{buildroot}%{_libdir}/chromium/chromedriver ln -s %{_libdir}/chromium/chromedriver %{buildroot}%{_bindir}/chromedriver cp -a resources.pak %{buildroot}%{_libdir}/chromium/ ++++++ chromium-92.0.4515.107.tar.xz -> chromium-92.0.4515.131.tar.xz ++++++ /work/SRC/openSUSE:Factory/chromium/chromium-92.0.4515.107.tar.xz /work/SRC/openSUSE:Factory/.chromium.new.1899/chromium-92.0.4515.131.tar.xz differ: char 26, line 1 ++++++ chromium-glibc-2.34.patch ++++++ >From 218438259dd795456f0a48f67cbe5b4e520db88b Mon Sep 17 00:00:00 2001 From: Matthew Denton <mpden...@chromium.org> Date: Thu, 3 Jun 2021 20:06:13 +0000 Subject: [PATCH] Linux sandbox: return ENOSYS for clone3 Because clone3 uses a pointer argument rather than a flags argument, we cannot examine the contents with seccomp, which is essential to preventing sandboxed processes from starting other processes. So, we won't be able to support clone3 in Chromium. This CL modifies the BPF policy to return ENOSYS for clone3 so glibc always uses the fallback to clone. Bug: 1213452 Change-Id: I7c7c585a319e0264eac5b1ebee1a45be2d782303 Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2936184 Reviewed-by: Robert Sesek <rse...@chromium.org> Commit-Queue: Matthew Denton <mpden...@chromium.org> Cr-Commit-Position: refs/heads/master@{#888980} --- sandbox/linux/seccomp-bpf-helpers/baseline_policy.cc | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/sandbox/linux/seccomp-bpf-helpers/baseline_policy.cc b/sandbox/linux/seccomp-bpf-helpers/baseline_policy.cc index 05c39f0f564e3..086c56a2be461 100644 --- a/sandbox/linux/seccomp-bpf-helpers/baseline_policy.cc +++ b/sandbox/linux/seccomp-bpf-helpers/baseline_policy.cc @@ -178,6 +178,14 @@ ResultExpr EvaluateSyscallImpl(int fs_denied_errno, return RestrictCloneToThreadsAndEPERMFork(); } + // clone3 takes a pointer argument which we cannot examine, so return ENOSYS + // to force the libc to use clone. See https://crbug.com/1213452. + #if defined(__NR_clone3) + if (sysno == __NR_clone3) { + return Error(ENOSYS); + } + #endif + if (sysno == __NR_fcntl) return RestrictFcntlCommands(); diff -up chromium-92.0.4515.107/third_party/abseil-cpp/absl/debugging/failure_signal_handler.cc.sigstkszfix chromium-92.0.4515.107/third_party/abseil-cpp/absl/debugging/failure_signal_handler.cc diff -up chromium-92.0.4515.107/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler.cc.sigstkszfix chromium-92.0.4515.107/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler.cc --- chromium-92.0.4515.107/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler.cc.sigstkszfix 2021-07-19 14:47:20.000000000 -0400 +++ chromium-92.0.4515.107/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler.cc 2021-07-26 17:28:50.155924005 -0400 @@ -138,7 +139,11 @@ // SIGSTKSZ may be too small to prevent the signal handlers from overrunning // the alternative stack. Ensure that the size of the alternative stack is // large enough. - static const unsigned kSigStackSize = std::max(16384, SIGSTKSZ); + #if __GLIBC_PREREQ(2, 34) + static const unsigned kSigStackSize = std::max(static_cast<long>(16384), SIGSTKSZ); + #else + static const unsigned kSigStackSize = std::max(16384, SIGSTKSZ); + #endif // Only set an alternative stack if there isn't already one, or if the current // one is too small. ++++++ chromium-no-writeprotection.patch ++++++ --- a/base/allocator/partition_allocator/partition_alloc_config.h +++ b/base/allocator/partition_allocator/partition_alloc_config.h @@ -9,6 +9,7 @@ #include "base/dcheck_is_on.h" #include "base/partition_alloc_buildflags.h" #include "build/build_config.h" +#include <linux/version.h> // ARCH_CPU_64_BITS implies 64-bit instruction set, but not necessarily 64-bit // address space. The only known case where address space is 32-bit is NaCl, so @@ -35,7 +36,7 @@ #endif #if defined(PA_HAS_64_BITS_POINTERS) && \ - (defined(OS_LINUX) || defined(OS_ANDROID)) + (defined(OS_LINUX) || defined(OS_ANDROID)) && LINUX_VERSION_CODE >= KERNEL_VERSION(5,7,0) // TODO(bikineev): Enable for ChromeOS. #define PA_STARSCAN_UFFD_WRITE_PROTECTOR_SUPPORTED #endif