svn commit: r243417 - releng/7.4 releng/7.4/contrib/bind9/bin/named releng/7.4/contrib/bind9/lib/dns releng/7.4/contrib/bind9/lib/dns/include/dns releng/7.4/sys/compat/linux releng/7.4/sys/conf rel...
Simon L. Nielsen
simon at FreeBSD.org
Thu Nov 22 22:52:17 UTC 2012
Author: simon
Date: Thu Nov 22 22:52:15 2012
New Revision: 243417
URL: http://svnweb.freebsd.org/changeset/base/243417
Log:
Fix multiple Denial of Service vulnerabilities with named(8).
Fix insufficient message length validation for EAP-TLS messages.
Fix Linux compatibility layer input validation error.
Security: FreeBSD-SA-12:06.bind
Security: FreeBSD-SA-12:07.hostapd
Security: FreeBSD-SA-12:08.linux
Security: CVE-2012-4244, CVE-2012-5166, CVE-2012-4445, CVE-2012-4576
Approved by: re
Approved by: security-officer
Modified:
stable/9/contrib/wpa/src/eap_server/eap_server_tls_common.c
stable/9/sys/compat/linux/linux_ioctl.c
Changes in other areas also in this revision:
Modified:
releng/7.4/UPDATING
releng/7.4/contrib/bind9/bin/named/query.c
releng/7.4/contrib/bind9/lib/dns/include/dns/rdata.h
releng/7.4/contrib/bind9/lib/dns/master.c
releng/7.4/contrib/bind9/lib/dns/rdata.c
releng/7.4/sys/compat/linux/linux_ioctl.c
releng/7.4/sys/conf/newvers.sh
releng/8.3/UPDATING
releng/8.3/contrib/bind9/bin/named/query.c
releng/8.3/contrib/bind9/lib/dns/include/dns/rdata.h
releng/8.3/contrib/bind9/lib/dns/master.c
releng/8.3/contrib/bind9/lib/dns/rdata.c
releng/8.3/contrib/wpa/src/eap_server/eap_tls_common.c
releng/8.3/sys/compat/linux/linux_ioctl.c
releng/8.3/sys/conf/newvers.sh
releng/9.0/UPDATING
releng/9.0/contrib/bind9/bin/named/query.c
releng/9.0/contrib/bind9/lib/dns/include/dns/rdata.h
releng/9.0/contrib/bind9/lib/dns/master.c
releng/9.0/contrib/bind9/lib/dns/rdata.c
releng/9.0/contrib/wpa/src/eap_server/eap_server_tls_common.c
releng/9.0/sys/compat/linux/linux_ioctl.c
releng/9.0/sys/conf/newvers.sh
releng/9.1/contrib/wpa/src/eap_server/eap_server_tls_common.c
releng/9.1/sys/compat/linux/linux_ioctl.c
stable/8/contrib/wpa/src/eap_server/eap_tls_common.c
stable/8/sys/compat/linux/linux_ioctl.c
Modified: stable/9/contrib/wpa/src/eap_server/eap_server_tls_common.c
==============================================================================
--- stable/9/contrib/wpa/src/eap_server/eap_server_tls_common.c Thu Nov 22 22:10:10 2012 (r243416)
+++ stable/9/contrib/wpa/src/eap_server/eap_server_tls_common.c Thu Nov 22 22:52:15 2012 (r243417)
@@ -225,6 +225,14 @@ static int eap_server_tls_process_fragme
return -1;
}
+ if (len > message_length) {
+ wpa_printf(MSG_INFO, "SSL: Too much data (%d bytes) in "
+ "first fragment of frame (TLS Message "
+ "Length %d bytes)",
+ (int) len, (int) message_length);
+ return -1;
+ }
+
data->tls_in = wpabuf_alloc(message_length);
if (data->tls_in == NULL) {
wpa_printf(MSG_DEBUG, "SSL: No memory for message");
Modified: stable/9/sys/compat/linux/linux_ioctl.c
==============================================================================
--- stable/9/sys/compat/linux/linux_ioctl.c Thu Nov 22 22:10:10 2012 (r243416)
+++ stable/9/sys/compat/linux/linux_ioctl.c Thu Nov 22 22:52:15 2012 (r243417)
@@ -2260,8 +2260,9 @@ again:
ifc.ifc_len = valid_len;
sbuf_finish(sb);
- memcpy(PTRIN(ifc.ifc_buf), sbuf_data(sb), ifc.ifc_len);
- error = copyout(&ifc, uifc, sizeof(ifc));
+ error = copyout(sbuf_data(sb), PTRIN(ifc.ifc_buf), ifc.ifc_len);
+ if (error == 0)
+ error = copyout(&ifc, uifc, sizeof(ifc));
sbuf_delete(sb);
CURVNET_RESTORE();
More information about the svn-src-stable-9
mailing list