xserver-xorg: fix CVE-2018-14665
PATCH 1/1 xserver-xorg: fix CVE-2018-14665
Incorrect command-line parameter validation in the Xorg X server can lead to privilege elevation and/or arbitrary files overwrite, when the X server is running with elevated privileges (ie when Xorg is installed with the setuid bit set and started by a non-root user). The -modulepath argument can be used to specify an insecure path to modules that are going to be loaded in the X server, allowing to execute unprivileged code in the privileged process. The -logfile argument can be used to overwrite arbitrary files in the file system, due to incorrect checks in the parsing of the option.
--- .../xorg-xserver/xserver-xorg/CVE-2018-14665.patch | 62 ++++++++++++++++++++++ .../xorg-xserver/xserver-xorg_1.20.1.bb | 1 + 2 files changed, 63 insertions(+) create mode 100644 meta/recipes-graphics/xorg-xserver/xserver-xorg/CVE-2018-14665.patch
meta/recipes-graphics/xorg-xserver/xserver-xorg/CVE-2018-14665.patch new file +62 -0
@@ -0,0 +1,62 @@ +Incorrect command-line parameter validation in the Xorg X server can lead to +privilege elevation and/or arbitrary files overwrite, when the X server is +running with elevated privileges (ie when Xorg is installed with the setuid bit +set and started by a non-root user). The -modulepath argument can be used to +specify an insecure path to modules that are going to be loaded in the X server, +allowing to execute unprivileged code in the privileged process. The -logfile +argument can be used to overwrite arbitrary files in the file system, due to +incorrect checks in the parsing of the option. + +CVE: CVE-2018-14665 +Upstream-Status: Backport +Signed-off-by: Ross Burton <[email protected]> + +From 50c0cf885a6e91c0ea71fb49fa8f1b7c86fe330e Mon Sep 17 00:00:00 2001 +From: Matthieu Herrb <[email protected]> +Date: Tue, 23 Oct 2018 21:29:08 +0200 +Subject: [PATCH] Disable -logfile and -modulepath when running with elevated + privileges + +Could cause privilege elevation and/or arbitrary files overwrite, when +the X server is running with elevated privileges (ie when Xorg is +installed with the setuid bit set and started by a non-root user). + +CVE-2018-14665 + +Issue reported by Narendra Shinde and Red Hat. + +Signed-off-by: Matthieu Herrb <[email protected]> +Reviewed-by: Alan Coopersmith <[email protected]> +Reviewed-by: Peter Hutterer <[email protected]> +Reviewed-by: Adam Jackson <[email protected]> +--- + hw/xfree86/common/xf86Init.c | 8 ++++++-- + 1 file changed, 6 insertions(+), 2 deletions(-) + +diff --git a/hw/xfree86/common/xf86Init.c b/hw/xfree86/common/xf86Init.c +index 6c25eda73..0f57efa86 100644 +--- a/hw/xfree86/common/xf86Init.c ++++ b/hw/xfree86/common/xf86Init.c +@@ -935,14 +935,18 @@ ddxProcessArgument(int argc, char **argv, int i) + /* First the options that are not allowed with elevated privileges */ + if (!strcmp(argv[i], "-modulepath")) { + CHECK_FOR_REQUIRED_ARGUMENT(); +- xf86CheckPrivs(argv[i], argv[i + 1]); ++ if (xf86PrivsElevated()) ++ FatalError("\nInvalid argument -modulepath " ++ "with elevated privileges\n"); + xf86ModulePath = argv[i + 1]; + xf86ModPathFrom = X_CMDLINE; + return 2; + } + if (!strcmp(argv[i], "-logfile")) { + CHECK_FOR_REQUIRED_ARGUMENT(); +- xf86CheckPrivs(argv[i], argv[i + 1]); ++ if (xf86PrivsElevated()) ++ FatalError("\nInvalid argument -logfile " ++ "with elevated privileges\n"); + xf86LogFile = argv[i + 1]; + xf86LogFileFrom = X_CMDLINE; + return 2; +-- +2.18.1
meta/recipes-graphics/xorg-xserver/xserver-xorg_1.20.1.bb +1 -0
@@ -3,6 +3,7 @@ require xserver-xorg.inc SRC_URI += "file://musl-arm-inb-outb.patch \ file://0001-xf86pciBus.c-use-Intel-ddx-only-for-pre-gen4-hardwar.patch \ file://pkgconfig.patch \ + file://CVE-2018-14665.patch \ " SRC_URI[md5sum] = "e525846d1d0af5732ba835f2e2ec066d" SRC_URI[sha256sum] = "59c99fe86fe75b8164c6567bfc6e982aecc2e4a51e6fbac1b842d5d00549e918"
Signature · 1 line
2.11.0
✗ patchtest: failure for xserver-xorg: fix CVE-2018-14665
== Series Details ==
Series: xserver-xorg: fix CVE-2018-14665
Revision: 1
URL : https://patchwork.openembedded.org/series/14750/
State : failure
== Summary ==
Thank you for submitting this patch series to OpenEmbedded Core. This is an automated response. Several tests have been executed on the proposed series by patchtest resulting in the following failures:
* Patch xserver-xorg: fix CVE-2018-14665 Issue Missing or incorrectly formatted CVE tag in included patch file [test_cve_tag_format] Suggested fix Correct or include the CVE tag on cve patch with format: "CVE: CVE-YYYY-XXXX"
If you believe any of these test results are incorrect, please reply to the mailing list ([email protected]) raising your concerns. Otherwise we would appreciate you correcting the issues and submitting a new version of the patchset if applicable. Please ensure you add/increment the version number when sending the new version (i.e. [PATCH] -> [PATCH v2] -> [PATCH v3] -> ...).
---
Guidelines: https://www.openembedded.org/wiki/Commit_Patch_Message_Guidelines Test framework: http://git.yoctoproject.org/cgit/cgit.cgi/patchtest Test suite: http://git.yoctoproject.org/cgit/cgit.cgi/patchtest-oe