rpms/udev/F-10 udev-CVE-2009-1185.patch, NONE, 1.1 udev.spec, 1.254, 1.255

Harald Hoyer harald at fedoraproject.org
Wed Apr 15 17:08:27 UTC 2009


Author: harald

Update of /cvs/pkgs/rpms/udev/F-10
In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv11285

Modified Files:
	udev.spec 
Added Files:
	udev-CVE-2009-1185.patch 
Log Message:
* Mon Nov 10 2008 Harald Hoyer <harald at redhat.com> 127-3
- added memory stick rules (bug #470096)


udev-CVE-2009-1185.patch:

--- NEW FILE udev-CVE-2009-1185.patch ---
diff -ruNp udev-124~/udevd.c udev-124/udevd.c
--- udev-124~/udev/udevd.c	2008-06-11 22:24:30.000000000 -0700
+++ udev-124/udev/udevd.c	2009-04-08 16:30:06.000000000 -0700
@@ -753,16 +753,34 @@ static struct udevd_uevent_msg *get_netl
 	struct udevd_uevent_msg *msg;
 	int bufpos;
 	ssize_t size;
+	struct sockaddr_nl snl;
+	struct msghdr smsg;
+	struct iovec iov;
 	static char buffer[UEVENT_BUFFER_SIZE+512];
 	char *pos;
 
-	size = recv(uevent_netlink_sock, &buffer, sizeof(buffer), 0);
+	iov.iov_base = buffer;
+	iov.iov_len = sizeof(buffer);
+
+	memset(&smsg, 0x00, sizeof(struct msghdr));
+	smsg.msg_name = &snl;
+	smsg.msg_namelen = sizeof(struct sockaddr_nl);
+	smsg.msg_iov = &iov;
+	smsg.msg_iovlen = 1;
+
+	size = recvmsg(uevent_netlink_sock, &smsg, 0);
 	if (size <  0) {
 		if (errno != EINTR)
 			err("unable to receive kernel netlink message: %s\n", strerror(errno));
 		return NULL;
 	}
 
+	if ((snl.nl_groups != 1) || (snl.nl_pid != 0)) {
+		info("ignored netlink message from invalid group/sender %d/%d\n",
+		     snl.nl_groups, snl.nl_pid);
+		return NULL;
+	}
+
 	if ((size_t)size > sizeof(buffer)-1)
 		size = sizeof(buffer)-1;
 	buffer[size] = '\0';


Index: udev.spec
===================================================================
RCS file: /cvs/pkgs/rpms/udev/F-10/udev.spec,v
retrieving revision 1.254
retrieving revision 1.255
diff -u -r1.254 -r1.255
--- udev.spec	10 Nov 2008 18:20:02 -0000	1.254
+++ udev.spec	15 Apr 2009 17:07:57 -0000	1.255
@@ -23,6 +23,7 @@
 Patch2: udev-127-volume_id-include-config.h.patch
 Patch3: udev-132-memstickrules.patch
 
+Patch101: udev-CVE-2009-1185.patch
 Patch102: udev-118-sysconf.patch
 
 ExclusiveOS: Linux
@@ -98,6 +99,7 @@
 %patch1 -p1 -b .p1
 %patch2 -p1 -b .p2
 %patch3 -p1 -b .p3
+%patch101 -p1 -b .CVE-2009-1185
 %patch102 -p1 -b .sysconf
 
 %build




More information about the fedora-extras-commits mailing list