CVE-2013-1940: Fix xf86FlushInput() to drain evdev events
(#950438, #952949)
This commit is contained in:
parent
528aae170f
commit
b3223c2c28
@ -0,0 +1,38 @@
|
|||||||
|
From 8647ee8f422e1ea9212d84ae14ef2163793bcdc8 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Dave Airlie <airlied@gmail.com>
|
||||||
|
Date: Wed, 10 Apr 2013 16:09:01 +1000
|
||||||
|
Subject: [PATCH] xf86: fix flush input to work with Linux evdev devices.
|
||||||
|
|
||||||
|
So when we VT switch back and attempt to flush the input devices,
|
||||||
|
we don't succeed because evdev won't return part of an event,
|
||||||
|
since we were only asking for 4 bytes, we'd only get -EINVAL back.
|
||||||
|
|
||||||
|
This could later cause events to be flushed that we shouldn't have
|
||||||
|
gotten.
|
||||||
|
|
||||||
|
This is a fix for CVE-2013-1940.
|
||||||
|
|
||||||
|
Signed-off-by: Dave Airlie <airlied@redhat.com>
|
||||||
|
Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
|
||||||
|
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
|
||||||
|
---
|
||||||
|
hw/xfree86/os-support/shared/posix_tty.c | 3 ++-
|
||||||
|
1 file changed, 2 insertions(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/hw/xfree86/os-support/shared/posix_tty.c b/hw/xfree86/os-support/shared/posix_tty.c
|
||||||
|
index ab3757a..4d08c1e 100644
|
||||||
|
--- a/hw/xfree86/os-support/shared/posix_tty.c
|
||||||
|
+++ b/hw/xfree86/os-support/shared/posix_tty.c
|
||||||
|
@@ -421,7 +421,8 @@ xf86FlushInput(int fd)
|
||||||
|
{
|
||||||
|
fd_set fds;
|
||||||
|
struct timeval timeout;
|
||||||
|
- char c[4];
|
||||||
|
+ /* this needs to be big enough to flush an evdev event. */
|
||||||
|
+ char c[256];
|
||||||
|
|
||||||
|
DebugF("FlushingSerial\n");
|
||||||
|
if (tcflush(fd, TCIFLUSH) == 0)
|
||||||
|
--
|
||||||
|
1.8.1.4
|
||||||
|
|
@ -42,7 +42,7 @@
|
|||||||
Summary: X.Org X11 X server
|
Summary: X.Org X11 X server
|
||||||
Name: xorg-x11-server
|
Name: xorg-x11-server
|
||||||
Version: 1.14.0
|
Version: 1.14.0
|
||||||
Release: 3%{?gitdate:.%{gitdate}}%{dist}
|
Release: 4%{?gitdate:.%{gitdate}}%{dist}
|
||||||
URL: http://www.x.org
|
URL: http://www.x.org
|
||||||
License: MIT
|
License: MIT
|
||||||
Group: User Interface/X
|
Group: User Interface/X
|
||||||
@ -118,6 +118,11 @@ Patch7070: 0001-randr-report-changes-when-we-disconnect-a-GPU-slave.patch
|
|||||||
Patch7071: 0001-os-use-libunwind-to-generate-backtraces.patch
|
Patch7071: 0001-os-use-libunwind-to-generate-backtraces.patch
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
|
# Bug 950438 - CVE-2013-1940 xorg-x11-server:
|
||||||
|
# Information disclosure due enabling events from hot-plug devices despite
|
||||||
|
# input from the device being momentarily disabled
|
||||||
|
Patch7072: 0001-xf86-fix-flush-input-to-work-with-Linux-evdev-device.patch
|
||||||
|
|
||||||
%global moduledir %{_libdir}/xorg/modules
|
%global moduledir %{_libdir}/xorg/modules
|
||||||
%global drimoduledir %{_libdir}/dri
|
%global drimoduledir %{_libdir}/dri
|
||||||
%global sdkdir %{_includedir}/xorg
|
%global sdkdir %{_includedir}/xorg
|
||||||
@ -590,6 +595,10 @@ rm -rf $RPM_BUILD_ROOT
|
|||||||
%{xserver_source_dir}
|
%{xserver_source_dir}
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Wed Apr 17 2013 Peter Hutterer <peter.hutterer@redhat.com> 1.14.0-4
|
||||||
|
- CVE-2013-1940: Fix xf86FlushInput() to drain evdev events
|
||||||
|
(#950438, #952949)
|
||||||
|
|
||||||
* Fri Mar 22 2013 Dan Horák <dan@danny.cz> 1.14.0-3
|
* Fri Mar 22 2013 Dan Horák <dan@danny.cz> 1.14.0-3
|
||||||
- libunwind exists only on selected arches
|
- libunwind exists only on selected arches
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user