Compare commits

...

10 Commits

Author SHA1 Message Date
openeuler-ci-bot
362b9b3b5c
!28 [sync] PR-27: 修复rpath问题
From: @openeuler-sync-bot 
Reviewed-by: @small_leek 
Signed-off-by: @small_leek
2023-03-03 08:42:50 +00:00
starlet-dx
51387b4e28 Remove rpath
(cherry picked from commit a74fe25ff00dcac78d7ce691ea8ee812d43e8463)
2023-03-03 09:46:29 +08:00
openeuler-ci-bot
840f280eb2
!25 解决浏览器无法启动问题 2303 rc1
From: @lizhuang1314 
Reviewed-by: @dwl301 
Signed-off-by: @dwl301
2023-03-02 09:25:39 +00:00
lizhuang1314
9aa75ce150 修复无法启动问题 2023-03-02 16:43:03 +08:00
openeuler-ci-bot
37ed62e53c
!19 fix CVE-2023-26081
From: @HelloWorld_lvcongqing 
Reviewed-by: @weidongkl 
Signed-off-by: @weidongkl
2023-02-27 09:26:26 +00:00
liweiganga
a649f83ff0 fix CVE-2023-26081 2023-02-23 14:44:27 +08:00
openeuler-ci-bot
1f7b415a42
!15 Update to 43.0
From: @dwl301 
Reviewed-by: @zhang__3125 
Signed-off-by: @zhang__3125
2023-02-17 04:41:23 +00:00
dwl301
b823e45466 Update to 43.0 2023-01-31 15:53:24 +08:00
openeuler-ci-bot
a1d9ceb4d0
!9 Update to 42.2
From: @zhang__3125 
Reviewed-by: @dwl301 
Signed-off-by: @dwl301
2022-06-14 04:56:39 +00:00
zhang__3125
9f06d86294 Update to 42.2 2022-06-09 16:08:29 +08:00
7 changed files with 130 additions and 64 deletions

View File

@ -1,42 +0,0 @@
From 486da133569ebfc436c959a7419565ab102e8525 Mon Sep 17 00:00:00 2001
From: Michael Catanzaro <mcatanzaro@redhat.com>
Date: Fri, 15 Apr 2022 18:09:46 -0500
Subject: [PATCH] Fix memory corruption in ephy_string_shorten()
This fixes a regression that I introduced in 232c613472b38ff0d0d97338f366024ddb9cd228.
I got my browser stuck in a crash loop today while visiting a website
with a page title greater than ephy-embed.c's MAX_TITLE_LENGTH, the only
condition in which ephy_string_shorten() is ever used. Turns out this
commit is wrong: an ellipses is a multibyte character (three bytes in
UTF-8) and so we're writing past the end of the buffer when calling
strcat() here. Ooops.
Shame it took nearly four years to notice and correct this.
Part-of: <https://gitlab.gnome.org/GNOME/epiphany/-/merge_requests/1106>
---
lib/ephy-string.c | 5 ++---
1 file changed, 2 insertions(+), 3 deletions(-)
diff --git a/lib/ephy-string.c b/lib/ephy-string.c
index 35a148ab3..8e524d52c 100644
--- a/lib/ephy-string.c
+++ b/lib/ephy-string.c
@@ -114,11 +114,10 @@ ephy_string_shorten (char *str,
/* create string */
bytes = GPOINTER_TO_UINT (g_utf8_offset_to_pointer (str, target_length - 1) - str);
- /* +1 for ellipsis, +1 for trailing NUL */
- new_str = g_new (gchar, bytes + 1 + 1);
+ new_str = g_new (gchar, bytes + strlen ("…") + 1);
strncpy (new_str, str, bytes);
- strcat (new_str, "…");
+ strncpy (new_str + bytes, "…", strlen ("…") + 1);
g_free (str);
--
GitLab

85
CVE-2023-26081.patch Normal file
View File

@ -0,0 +1,85 @@
From 53363c3c8178bf9193dad9fa3516f4e10cff0ffd Mon Sep 17 00:00:00 2001
From: Michael Catanzaro <mcatanzaro@redhat.com>
Date: Fri, 3 Feb 2023 13:07:15 -0600
Subject: [PATCH] Don't autofill passwords in sandboxed contexts
If using the sandbox CSP or iframe tag, the web content is supposed to
be not trusted by the main resource origin. Therefore, we'd better
disable the password manager entirely so the untrusted web content
cannot exfiltrate passwords.
https://github.com/google/security-research/security/advisories/GHSA-mhhf-w9xw-pp9x
Part-of: <https://gitlab.gnome.org/GNOME/epiphany/-/merge_requests/1275>
---
.../resources/js/ephy.js | 26 +++++++++++++++++++
1 file changed, 26 insertions(+)
diff --git a/embed/web-process-extension/resources/js/ephy.js b/embed/web-process-extension/resources/js/ephy.js
index 6fccd3d94..d1c42adbc 100644
--- a/embed/web-process-extension/resources/js/ephy.js
+++ b/embed/web-process-extension/resources/js/ephy.js
@@ -354,6 +354,12 @@ Ephy.hasModifiedForms = function()
}
};
+Ephy.isSandboxedWebContent = function()
+{
+ // https://github.com/google/security-research/security/advisories/GHSA-mhhf-w9xw-pp9x
+ return self.origin === null || self.origin === 'null';
+};
+
Ephy.PasswordManager = class PasswordManager
{
constructor(pageID, frameID)
@@ -387,6 +393,11 @@ Ephy.PasswordManager = class PasswordManager
query(origin, targetOrigin, username, usernameField, passwordField)
{
+ if (Ephy.isSandboxedWebContent()) {
+ Ephy.log(`Not querying passwords for origin=${origin} because web content is sandboxed`);
+ return Promise.resolve(null);
+ }
+
Ephy.log(`Querying passwords for origin=${origin}, targetOrigin=${targetOrigin}, username=${username}, usernameField=${usernameField}, passwordField=${passwordField}`);
return new Promise((resolver, reject) => {
@@ -398,6 +409,11 @@ Ephy.PasswordManager = class PasswordManager
save(origin, targetOrigin, username, password, usernameField, passwordField, isNew)
{
+ if (Ephy.isSandboxedWebContent()) {
+ Ephy.log(`Not saving password for origin=${origin} because web content is sandboxed`);
+ return;
+ }
+
Ephy.log(`Saving password for origin=${origin}, targetOrigin=${targetOrigin}, username=${username}, usernameField=${usernameField}, passwordField=${passwordField}, isNew=${isNew}`);
window.webkit.messageHandlers.passwordManagerSave.postMessage({
@@ -409,6 +425,11 @@ Ephy.PasswordManager = class PasswordManager
// FIXME: Why is pageID a parameter here?
requestSave(origin, targetOrigin, username, password, usernameField, passwordField, isNew, pageID)
{
+ if (Ephy.isSandboxedWebContent()) {
+ Ephy.log(`Not requesting to save password for origin=${origin} because web content is sandboxed`);
+ return;
+ }
+
Ephy.log(`Requesting to save password for origin=${origin}, targetOrigin=${targetOrigin}, username=${username}, usernameField=${usernameField}, passwordField=${passwordField}, isNew=${isNew}`);
window.webkit.messageHandlers.passwordManagerRequestSave.postMessage({
@@ -428,6 +449,11 @@ Ephy.PasswordManager = class PasswordManager
queryUsernames(origin)
{
+ if (Ephy.isSandboxedWebContent()) {
+ Ephy.log(`Not querying usernames for origin=${origin} because web content is sandboxed`);
+ return Promise.resolve(null);
+ }
+
Ephy.log(`Requesting usernames for origin=${origin}`);
return new Promise((resolver, reject) => {
--
GitLab

Binary file not shown.

BIN
epiphany-43.0.tar.xz Normal file

Binary file not shown.

View File

@ -1,6 +1,5 @@
diff -up epiphany-3.38.5/data/default-bookmarks.rdf.in.orig epiphany-3.38.5/data/default-bookmarks.rdf.in
--- epiphany-3.38.5/data/default-bookmarks.rdf.in.orig 2021-06-04 22:38:08.004123000 +0800
+++ epiphany-3.38.5/data/default-bookmarks.rdf.in 2021-06-24 17:15:02.167045701 +0800
--- epiphany-42.0/data/default-bookmarks.rdf.in.orig 2022-04-01 11:09:19.574579040 +0800
+++ epiphany-42.0/data/default-bookmarks.rdf.in 2022-04-01 11:10:04.676640672 +0800
@@ -6,6 +6,7 @@
<items>
<rdf:Seq>

View File

@ -1,33 +1,36 @@
%global glib2_version 2.64.0
%global glib2_version 2.67.4
%global gtk3_version 3.24.0
%global webkit2gtk3_version 2.31.1
%global webkit2gtk3_version 2.37.1
Name: epiphany
Epoch: 1
Version: 40.6
Release: 1
Version: 43.0
Release: 4
Summary: Web browser for GNOME
License: GPL-3.0+ and LGPL-2.1 and MIT and GPL+ and ISC
License: GPLv3+
URL: https://wiki.gnome.org/Apps/Web
Source0: https://download.gnome.org/sources/epiphany/40/%{name}-%{version}.tar.xz
Source0: https://download.gnome.org/sources/epiphany/43/%{name}-%{version}.tar.xz
Patch0: epiphany-default-bookmarks-openeuler.patch
# https://gitlab.gnome.org/GNOME/epiphany/-/issues/1766
Patch1: CVE-2022-29536.patch
Patch1: CVE-2023-26081.patch
BuildRequires: desktop-file-utils gcc gettext-devel iso-codes-devel itstool
BuildRequires: libappstream-glib-devel meson pkgconfig(cairo) pkgconfig(evince-document-3.0)
BuildRequires: pkgconfig(gcr-3) pkgconfig(gdk-3.0) >= %{gtk3_version}
BuildRequires: gcr-devel pkgconfig(gdk-3.0) >= %{gtk3_version}
BuildRequires: pkgconfig(gdk-pixbuf-2.0) pkgconfig(gio-unix-2.0) >= %{glib2_version}
BuildRequires: pkgconfig(glib-2.0) >= %{glib2_version}
BuildRequires: pkgconfig(gnome-desktop-3.0) >= %{glib2_version}
BuildRequires: pkgconfig(gtk+-3.0) >= %{gtk3_version}
BuildRequires: pkgconfig(gtk+-unix-print-3.0) >= %{gtk3_version} pkgconfig(hogweed)
BuildRequires: pkgconfig(icu-uc) pkgconfig(json-glib-1.0) pkgconfig(libdazzle-1.0)
BuildRequires: pkgconfig(libhandy-1) pkgconfig(libnotify) pkgconfig(libportal) pkgconfig(libsecret-1)
BuildRequires: pkgconfig(libsoup-2.4) pkgconfig(libxml-2.0) pkgconfig(libxslt)
BuildRequires: pkgconfig(libhandy-1) pkgconfig(libnotify) pkgconfig(libsecret-1)
BuildRequires: pkgconfig(libportal-gtk3) >= 0.5
BuildRequires: pkgconfig(libsoup-3.0) pkgconfig(libxml-2.0) pkgconfig(libxslt)
BuildRequires: pkgconfig(nettle) pkgconfig(sqlite3)
BuildRequires: pkgconfig(webkit2gtk-4.0) >= %{webkit2gtk3_version}
BuildRequires: pkgconfig(webkit2gtk-web-extension-4.0) >= %{webkit2gtk3_version} chrpath
BuildRequires: pkgconfig(webkit2gtk-4.1) >= %{webkit2gtk3_version}
BuildRequires: pkgconfig(webkit2gtk-web-extension-4.1) >= %{webkit2gtk3_version} chrpath
Requires: %{name}-runtime%{?_isa} = %{epoch}:%{version}-%{release}
%description
Epiphany is the web browser for the GNOME desktop. Its goal is to be
simple and easy to use. Epiphany ties together many GNOME components
@ -38,6 +41,10 @@ application.
Summary: Epiphany runtime suitable for web applications
Requires: gsettings-desktop-schemas gtk3%{?_isa} >= %{gtk3_version} iso-codes
Requires: webkit2gtk3%{?_isa} >= %{webkit2gtk3_version}
Provides: bundled(gvdb)
Provides: bundled(highlightjs)
Provides: bundled(readabilityjs)
%description runtime
This package provides a runtime for web applications without actually
installing the epiphany application itself.
@ -57,8 +64,11 @@ chrpath -d %{buildroot}%{_libdir}/epiphany/*.so
chrpath -d %{buildroot}%{_libdir}/epiphany/web-process-extensions/*.so
chrpath -d %{buildroot}%{_libexecdir}/epiphany/*
chrpath -d %{buildroot}%{_libexecdir}/epiphany-search-provider
chrpath -d %{buildroot}%{_libexecdir}/epiphany-webapp-provider
chrpath -d %{buildroot}%{_bindir}/epiphany
sed -i 's/Exec=/Exec=env WEBKIT_FORCE_SANDBOX=0 /g' %{buildroot}%{_datadir}/applications/org.gnome.Epiphany.desktop
mkdir -p %{buildroot}%{_sysconfdir}/ld.so.conf.d
echo "%{_libdir}/epiphany" > %{buildroot}%{_sysconfdir}/ld.so.conf.d/%{name}-%{_arch}.conf
@ -79,27 +89,41 @@ desktop-file-validate $RPM_BUILD_ROOT%{_datadir}/applications/*.desktop
%dir %{_datadir}/gnome-shell/
%dir %{_datadir}/gnome-shell/search-providers/
%{_datadir}/gnome-shell/search-providers/org.gnome.Epiphany.SearchProvider.ini
%config(noreplace) %{_sysconfdir}/ld.so.conf.d/%{name}-%{_arch}.conf
#%config(noreplace) %{_sysconfdir}/ld.so.conf.d/%{name}-%{_arch}.conf
%files runtime
%license COPYING
%doc NEWS README.md
%{_datadir}/dbus-1/services/org.gnome.Epiphany.WebAppProvider.service
%{_datadir}/icons/hicolor/*/apps/org.gnome.Epiphany*
%{_datadir}/glib-2.0/schemas/org.gnome.epiphany.gschema.xml
%{_datadir}/glib-2.0/schemas/org.gnome.Epiphany.enums.xml
%{_bindir}/epiphany
%{_libexecdir}/epiphany/
%{_libexecdir}/epiphany-webapp-provider
%{_libdir}/epiphany/
%{_datadir}/epiphany
%{_mandir}/man*/*
%config(noreplace)%{_sysconfdir}/ld.so.conf.d/%{name}-%{_arch}.conf
%changelog
* Thu May 5 2022 yaoxin <yaoxin30@h-partners.com> - 40.6-1
- Update to 40.6 for fix CVE-2021-45085-to-CVE-2021-45088 and add patch for CVE-2022-29536
* Thu Mar 02 2023 yaoxin <yaoxin30@h-partners.com> - 1:43.0-4
- Remove rpath
* Mon Apr 11 2022 dillon chen <dillon.chen@gmail.com> - 3.38.6-1
- update to 3.38.6
* Thu Mar 2 2023 zhuang li <zhuang.li@turbolinux.com.cn> - 1:43.0-3
- Modified configuration file Uncomment 43.0-3
* Thu Feb 23 2023 liweiganga <liweiganga@uniontech.com> - 1:43.0-2
- fix CVE-2023-26081
* Mon Jan 2 2023 lin zhang <lin.zhang@turbolinux.com.cn> - 1:43.0-1
- Update to 43.0
* Fri Sep 9 2022 lin zhang <lin.zhang@turbolinux.com.cn> - 1:42.2-2
- fix issue #I5QHPI
* Mon Mar 28 2022 lin zhang <lin.zhang@turbolinux.com.cn> - 1:42.2-1
- Update to 42.2
* Fri Sep 10 2021 lingsheng <lingsheng@huawei.com> - 3.38.5-2
- Delete rpath setting

View File

@ -1,4 +1,4 @@
version_control: gitlab.gnome
src_repo: epiphany
tag_prefix: ""
seperator: "."
separator: "."