Compare commits

..

10 Commits

Author SHA1 Message Date
openeuler-ci-bot
54b593b5a7
!31 [sync] PR-30: fix wrong requires on webkit2gtk3
From: @openeuler-sync-bot 
Reviewed-by: @weidongkl 
Signed-off-by: @weidongkl
2024-12-27 01:30:51 +00:00
Funda Wang
58971f5967 fix wrong requires on webkit2gtk3
(cherry picked from commit e660963e7e0f75adecb943d0f6b70484c328224e)
2024-12-26 18:05:54 +08:00
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
4 changed files with 124 additions and 21 deletions

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,20 +1,21 @@
%global glib2_version 2.64.0 %global glib2_version 2.67.4
%global gtk3_version 3.24.0 %global gtk3_version 3.24.0
%global webkit2gtk3_version 2.31.1 %global webkit2gtk3_version 2.37.1
Name: epiphany Name: epiphany
Epoch: 1 Epoch: 1
Version: 42.2 Version: 43.0
Release: 1 Release: 5
Summary: Web browser for GNOME Summary: Web browser for GNOME
License: GPLv3+ License: GPLv3+
URL: https://wiki.gnome.org/Apps/Web URL: https://wiki.gnome.org/Apps/Web
Source0: https://download.gnome.org/sources/epiphany/42/%{name}-%{version}.tar.xz Source0: https://download.gnome.org/sources/epiphany/43/%{name}-%{version}.tar.xz
Patch0: epiphany-default-bookmarks-openeuler.patch Patch0: epiphany-default-bookmarks-openeuler.patch
Patch1: CVE-2023-26081.patch
BuildRequires: desktop-file-utils gcc gettext-devel iso-codes-devel itstool BuildRequires: desktop-file-utils gcc gettext-devel iso-codes-devel itstool
BuildRequires: libappstream-glib-devel meson pkgconfig(cairo) pkgconfig(evince-document-3.0) 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(gdk-pixbuf-2.0) pkgconfig(gio-unix-2.0) >= %{glib2_version}
BuildRequires: pkgconfig(glib-2.0) >= %{glib2_version} BuildRequires: pkgconfig(glib-2.0) >= %{glib2_version}
BuildRequires: pkgconfig(gnome-desktop-3.0) >= %{glib2_version} BuildRequires: pkgconfig(gnome-desktop-3.0) >= %{glib2_version}
@ -23,21 +24,12 @@ BuildRequires: pkgconfig(gtk+-unix-print-3.0) >= %{gtk3_version} pkgconfig
BuildRequires: pkgconfig(icu-uc) pkgconfig(json-glib-1.0) pkgconfig(libdazzle-1.0) BuildRequires: pkgconfig(icu-uc) pkgconfig(json-glib-1.0) pkgconfig(libdazzle-1.0)
BuildRequires: pkgconfig(libhandy-1) pkgconfig(libnotify) pkgconfig(libsecret-1) BuildRequires: pkgconfig(libhandy-1) pkgconfig(libnotify) pkgconfig(libsecret-1)
BuildRequires: pkgconfig(libportal-gtk3) >= 0.5 BuildRequires: pkgconfig(libportal-gtk3) >= 0.5
BuildRequires: pkgconfig(libsoup-2.4) pkgconfig(libxml-2.0) pkgconfig(libxslt) BuildRequires: pkgconfig(libsoup-3.0) pkgconfig(libxml-2.0) pkgconfig(libxslt)
BuildRequires: pkgconfig(nettle) pkgconfig(sqlite3) BuildRequires: pkgconfig(nettle) pkgconfig(sqlite3)
BuildRequires: pkgconfig(webkit2gtk-4.0) >= %{webkit2gtk3_version} BuildRequires: pkgconfig(webkit2gtk-4.1) >= %{webkit2gtk3_version}
BuildRequires: pkgconfig(webkit2gtk-web-extension-4.0) >= %{webkit2gtk3_version} chrpath BuildRequires: pkgconfig(webkit2gtk-web-extension-4.1) >= %{webkit2gtk3_version} chrpath
Requires: %{name}-runtime%{?_isa} = %{epoch}:%{version}-%{release} Requires: %{name}-runtime%{?_isa} = %{epoch}:%{version}-%{release}
Requires: gtk3%{?_isa} >= %{gtk3_version}
Requires: webkit2gtk3%{?_isa} >= %{webkit2gtk3_version}
Requires: gsettings-desktop-schemas
Requires: iso-codes
Provides: bundled(gvdb)
Provides: bundled(highlightjs)
Provides: bundled(pdfjs)
Provides: bundled(readabilityjs)
%description %description
Epiphany is the web browser for the GNOME desktop. Its goal is to be Epiphany is the web browser for the GNOME desktop. Its goal is to be
@ -48,7 +40,10 @@ application.
%package runtime %package runtime
Summary: Epiphany runtime suitable for web applications Summary: Epiphany runtime suitable for web applications
Requires: gsettings-desktop-schemas gtk3%{?_isa} >= %{gtk3_version} iso-codes Requires: gsettings-desktop-schemas gtk3%{?_isa} >= %{gtk3_version} iso-codes
Requires: webkit2gtk3%{?_isa} >= %{webkit2gtk3_version} Requires: webkit2gtk4.1%{?_isa} >= %{webkit2gtk3_version}
Provides: bundled(gvdb)
Provides: bundled(highlightjs)
Provides: bundled(readabilityjs)
%description runtime %description runtime
This package provides a runtime for web applications without actually This package provides a runtime for web applications without actually
@ -69,8 +64,11 @@ chrpath -d %{buildroot}%{_libdir}/epiphany/*.so
chrpath -d %{buildroot}%{_libdir}/epiphany/web-process-extensions/*.so chrpath -d %{buildroot}%{_libdir}/epiphany/web-process-extensions/*.so
chrpath -d %{buildroot}%{_libexecdir}/epiphany/* chrpath -d %{buildroot}%{_libexecdir}/epiphany/*
chrpath -d %{buildroot}%{_libexecdir}/epiphany-search-provider chrpath -d %{buildroot}%{_libexecdir}/epiphany-search-provider
chrpath -d %{buildroot}%{_libexecdir}/epiphany-webapp-provider
chrpath -d %{buildroot}%{_bindir}/epiphany 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 mkdir -p %{buildroot}%{_sysconfdir}/ld.so.conf.d
echo "%{_libdir}/epiphany" > %{buildroot}%{_sysconfdir}/ld.so.conf.d/%{name}-%{_arch}.conf echo "%{_libdir}/epiphany" > %{buildroot}%{_sysconfdir}/ld.so.conf.d/%{name}-%{_arch}.conf
@ -91,23 +89,43 @@ desktop-file-validate $RPM_BUILD_ROOT%{_datadir}/applications/*.desktop
%dir %{_datadir}/gnome-shell/ %dir %{_datadir}/gnome-shell/
%dir %{_datadir}/gnome-shell/search-providers/ %dir %{_datadir}/gnome-shell/search-providers/
%{_datadir}/gnome-shell/search-providers/org.gnome.Epiphany.SearchProvider.ini %{_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 %files runtime
%license COPYING %license COPYING
%doc NEWS README.md %doc NEWS README.md
%{_datadir}/dbus-1/services/org.gnome.Epiphany.WebAppProvider.service
%{_datadir}/icons/hicolor/*/apps/org.gnome.Epiphany* %{_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.gschema.xml
%{_datadir}/glib-2.0/schemas/org.gnome.Epiphany.enums.xml %{_datadir}/glib-2.0/schemas/org.gnome.Epiphany.enums.xml
%{_bindir}/epiphany %{_bindir}/epiphany
%{_libexecdir}/epiphany/ %{_libexecdir}/epiphany/
%{_libexecdir}/epiphany-webapp-provider
%{_libdir}/epiphany/ %{_libdir}/epiphany/
%{_datadir}/epiphany %{_datadir}/epiphany
%{_mandir}/man*/* %{_mandir}/man*/*
%config(noreplace)%{_sysconfdir}/ld.so.conf.d/%{name}-%{_arch}.conf %config(noreplace)%{_sysconfdir}/ld.so.conf.d/%{name}-%{_arch}.conf
%changelog %changelog
* Mon Mar 28 2022 lin zhang <lin.zhang@turbolinux.com.cn> 1:42.2-1 * Thu Dec 26 2024 Funda Wang <fundawang@yeah.net> - 1:43.0-5
- fix wrong requires on webkit2gtk3
* Thu Mar 02 2023 yaoxin <yaoxin30@h-partners.com> - 1:43.0-4
- Remove rpath
* 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 - Update to 42.2
* Fri Sep 10 2021 lingsheng <lingsheng@huawei.com> - 3.38.5-2 * Fri Sep 10 2021 lingsheng <lingsheng@huawei.com> - 3.38.5-2