diff options
| author | Ludovic Courtès <ludo@gnu.org> | 2020-11-28 18:47:25 +0100 |
|---|---|---|
| committer | Ludovic Courtès <ludo@gnu.org> | 2020-11-28 18:47:25 +0100 |
| commit | 8ae794ed4b0ef342a9cfc7ac31c2d9dd43723c7c (patch) | |
| tree | be255ba94f7ce086ce499e6702fa27c53ebb1f34 /gnu | |
| parent | 8cbfd108acbf971e14659fc82959e7b505a8a443 (diff) | |
gnu: dbus: Update to 1.13.18.
* gnu/packages/glib.scm (dbus): Update to 1.13.18.
[source]: Remove "dbus-CVE-2020-12049.patch".
* gnu/packages/patches/dbus-CVE-2020-12049.patch: Remove.
* gnu/local.mk (dist_patch_DATA): Remove it.
Diffstat (limited to 'gnu')
| -rw-r--r-- | gnu/local.mk | 1 | ||||
| -rw-r--r-- | gnu/packages/glib.scm | 9 | ||||
| -rw-r--r-- | gnu/packages/patches/dbus-CVE-2020-12049.patch | 58 |
3 files changed, 4 insertions, 64 deletions
diff --git a/gnu/local.mk b/gnu/local.mk index 3282394eece..4924c932c68 100644 --- a/gnu/local.mk +++ b/gnu/local.mk | |||
| @@ -895,7 +895,6 @@ dist_patch_DATA = \ | |||
| 895 | %D%/packages/patches/datefudge-gettimeofday.patch \ | 895 | %D%/packages/patches/datefudge-gettimeofday.patch \ |
| 896 | %D%/packages/patches/dbacl-include-locale.h.patch \ | 896 | %D%/packages/patches/dbacl-include-locale.h.patch \ |
| 897 | %D%/packages/patches/dbus-helper-search-path.patch \ | 897 | %D%/packages/patches/dbus-helper-search-path.patch \ |
| 898 | %D%/packages/patches/dbus-CVE-2020-12049.patch \ | ||
| 899 | %D%/packages/patches/dbus-c++-gcc-compat.patch \ | 898 | %D%/packages/patches/dbus-c++-gcc-compat.patch \ |
| 900 | %D%/packages/patches/dbus-c++-threading-mutex.patch \ | 899 | %D%/packages/patches/dbus-c++-threading-mutex.patch \ |
| 901 | %D%/packages/patches/dbxfs-remove-sentry-sdk.patch \ | 900 | %D%/packages/patches/dbxfs-remove-sentry-sdk.patch \ |
diff --git a/gnu/packages/glib.scm b/gnu/packages/glib.scm index 3f5dd936d26..606802e7de5 100644 --- a/gnu/packages/glib.scm +++ b/gnu/packages/glib.scm | |||
| @@ -89,17 +89,16 @@ | |||
| 89 | (define dbus | 89 | (define dbus |
| 90 | (package | 90 | (package |
| 91 | (name "dbus") | 91 | (name "dbus") |
| 92 | (version "1.12.16") | 92 | (version "1.13.18") |
| 93 | (source (origin | 93 | (source (origin |
| 94 | (method url-fetch) | 94 | (method url-fetch) |
| 95 | (uri (string-append | 95 | (uri (string-append |
| 96 | "https://dbus.freedesktop.org/releases/dbus/dbus-" | 96 | "https://dbus.freedesktop.org/releases/dbus/dbus-" |
| 97 | version ".tar.gz")) | 97 | version ".tar.xz")) |
| 98 | (sha256 | 98 | (sha256 |
| 99 | (base32 | 99 | (base32 |
| 100 | "107ckxaff1cv4q6kmfdi2fb1nlsv03312a7kf6lb4biglhpjv8jl")) | 100 | "0ki5yih89kvygiqf3qb7qfzcrw4fvilxj1b9w1y91arlbv1gay40")) |
| 101 | (patches (search-patches "dbus-CVE-2020-12049.patch" | 101 | (patches (search-patches "dbus-helper-search-path.patch")))) |
| 102 | "dbus-helper-search-path.patch")))) | ||
| 103 | (build-system gnu-build-system) | 102 | (build-system gnu-build-system) |
| 104 | (arguments | 103 | (arguments |
| 105 | '(#:configure-flags | 104 | '(#:configure-flags |
diff --git a/gnu/packages/patches/dbus-CVE-2020-12049.patch b/gnu/packages/patches/dbus-CVE-2020-12049.patch deleted file mode 100644 index 71280144a16..00000000000 --- a/gnu/packages/patches/dbus-CVE-2020-12049.patch +++ /dev/null | |||
| @@ -1,58 +0,0 @@ | |||
| 1 | Fix CVE-2020-12049: | ||
| 2 | |||
| 3 | https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-12049 | ||
| 4 | https://lists.freedesktop.org/archives/ftp-release/2020-June/000753.html | ||
| 5 | |||
| 6 | Taken from upstream: | ||
| 7 | |||
| 8 | https://gitlab.freedesktop.org/dbus/dbus/-/commit/272d484283883fa9ff95b69d924fff6cd34842f5 | ||
| 9 | |||
| 10 | diff --git a/dbus/dbus-sysdeps-unix.c b/dbus/dbus-sysdeps-unix.c | ||
| 11 | --- a/dbus/dbus-sysdeps-unix.c | ||
| 12 | +++ b/dbus/dbus-sysdeps-unix.c | ||
| 13 | @@ -435,18 +435,6 @@ _dbus_read_socket_with_unix_fds (DBusSocket fd, | ||
| 14 | struct cmsghdr *cm; | ||
| 15 | dbus_bool_t found = FALSE; | ||
| 16 | |||
| 17 | - if (m.msg_flags & MSG_CTRUNC) | ||
| 18 | - { | ||
| 19 | - /* Hmm, apparently the control data was truncated. The bad | ||
| 20 | - thing is that we might have completely lost a couple of fds | ||
| 21 | - without chance to recover them. Hence let's treat this as a | ||
| 22 | - serious error. */ | ||
| 23 | - | ||
| 24 | - errno = ENOSPC; | ||
| 25 | - _dbus_string_set_length (buffer, start); | ||
| 26 | - return -1; | ||
| 27 | - } | ||
| 28 | - | ||
| 29 | for (cm = CMSG_FIRSTHDR(&m); cm; cm = CMSG_NXTHDR(&m, cm)) | ||
| 30 | if (cm->cmsg_level == SOL_SOCKET && cm->cmsg_type == SCM_RIGHTS) | ||
| 31 | { | ||
| 32 | @@ -501,6 +489,26 @@ _dbus_read_socket_with_unix_fds (DBusSocket fd, | ||
| 33 | if (!found) | ||
| 34 | *n_fds = 0; | ||
| 35 | |||
| 36 | + if (m.msg_flags & MSG_CTRUNC) | ||
| 37 | + { | ||
| 38 | + unsigned int i; | ||
| 39 | + | ||
| 40 | + /* Hmm, apparently the control data was truncated. The bad | ||
| 41 | + thing is that we might have completely lost a couple of fds | ||
| 42 | + without chance to recover them. Hence let's treat this as a | ||
| 43 | + serious error. */ | ||
| 44 | + | ||
| 45 | + /* We still need to close whatever fds we *did* receive, | ||
| 46 | + * otherwise they'll never get closed. (CVE-2020-12049) */ | ||
| 47 | + for (i = 0; i < *n_fds; i++) | ||
| 48 | + close (fds[i]); | ||
| 49 | + | ||
| 50 | + *n_fds = 0; | ||
| 51 | + errno = ENOSPC; | ||
| 52 | + _dbus_string_set_length (buffer, start); | ||
| 53 | + return -1; | ||
| 54 | + } | ||
| 55 | + | ||
| 56 | /* put length back (doesn't actually realloc) */ | ||
| 57 | _dbus_string_set_length (buffer, start + bytes_read); | ||
| 58 | |||
