summaryrefslogtreecommitdiffstats
path: root/contrib/wpa
diff options
context:
space:
mode:
authorcperciva <cperciva@FreeBSD.org>2012-11-23 01:48:31 +0000
committercperciva <cperciva@FreeBSD.org>2012-11-23 01:48:31 +0000
commit748c98fc62710e6e068b1ac97fe79668aa6fe7d4 (patch)
tree2b14b8ff18434b4a2367f1e3269dfd7df194dcb8 /contrib/wpa
parent95ab21ebedf7ac88a3e0742d22e468652f026319 (diff)
downloadFreeBSD-src-748c98fc62710e6e068b1ac97fe79668aa6fe7d4.zip
FreeBSD-src-748c98fc62710e6e068b1ac97fe79668aa6fe7d4.tar.gz
MFS security patches which seem to have accidentally not reached HEAD:
Fix insufficient message length validation for EAP-TLS messages. Fix Linux compatibility layer input validation error. Security: FreeBSD-SA-12:07.hostapd Security: FreeBSD-SA-12:08.linux Security: CVE-2012-4445, CVE-2012-4576 With hat: so@
Diffstat (limited to 'contrib/wpa')
-rw-r--r--contrib/wpa/src/eap_server/eap_server_tls_common.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/contrib/wpa/src/eap_server/eap_server_tls_common.c b/contrib/wpa/src/eap_server/eap_server_tls_common.c
index 25ae683..625ff52 100644
--- a/contrib/wpa/src/eap_server/eap_server_tls_common.c
+++ b/contrib/wpa/src/eap_server/eap_server_tls_common.c
@@ -225,6 +225,14 @@ static int eap_server_tls_process_fragment(struct eap_ssl_data *data,
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");
OpenPOWER on IntegriCloud