Compare commits
10 Commits
7a6223529f
...
362b9b3b5c
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
362b9b3b5c | ||
|
|
51387b4e28 | ||
|
|
840f280eb2 | ||
|
|
9aa75ce150 | ||
|
|
37ed62e53c | ||
|
|
a649f83ff0 | ||
|
|
1f7b415a42 | ||
|
|
b823e45466 | ||
|
|
a1d9ceb4d0 | ||
|
|
9f06d86294 |
@ -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
85
CVE-2023-26081.patch
Normal 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
BIN
epiphany-43.0.tar.xz
Normal file
Binary file not shown.
@ -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>
|
||||
|
||||
@ -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
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
version_control: gitlab.gnome
|
||||
src_repo: epiphany
|
||||
tag_prefix: ""
|
||||
seperator: "."
|
||||
separator: "."
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user