diff options
author | Baruch Siach <baruch@tkos.co.il> | 2016-05-03 09:40:19 +0300 |
---|---|---|
committer | Peter Korsgaard <peter@korsgaard.com> | 2016-05-03 09:31:05 +0200 |
commit | f6c2e55a87e5a0032765199de434cf85a7bdb90e (patch) | |
tree | 9b8712729ffbb9c0bacd1c778f7baa510bb81932 /package/wpa_supplicant/0012-Reject-SET-commands-with-newline-characters-in-the-s.patch | |
parent | 1297fc980b7b702754ce2fd089df9cf6f3638694 (diff) | |
download | buildroot-f6c2e55a87e5a0032765199de434cf85a7bdb90e.tar.gz buildroot-f6c2e55a87e5a0032765199de434cf85a7bdb90e.zip |
wpa_supplicant: add security fixes
Add upstream patching fixing CVE-2016-2447: psk configuration parameter update
allowing arbitrary data to be written.
See http://w1.fi/security/2016-1/psk-parameter-config-update.txt for details.
Signed-off-by: Baruch Siach <baruch@tkos.co.il>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Diffstat (limited to 'package/wpa_supplicant/0012-Reject-SET-commands-with-newline-characters-in-the-s.patch')
-rw-r--r-- | package/wpa_supplicant/0012-Reject-SET-commands-with-newline-characters-in-the-s.patch | 53 |
1 files changed, 53 insertions, 0 deletions
diff --git a/package/wpa_supplicant/0012-Reject-SET-commands-with-newline-characters-in-the-s.patch b/package/wpa_supplicant/0012-Reject-SET-commands-with-newline-characters-in-the-s.patch new file mode 100644 index 0000000000..a29df07912 --- /dev/null +++ b/package/wpa_supplicant/0012-Reject-SET-commands-with-newline-characters-in-the-s.patch @@ -0,0 +1,53 @@ +From 2a3f56502b52375c3bf113cf92adfa99bad6b488 Mon Sep 17 00:00:00 2001 +From: Jouni Malinen <jouni@qca.qualcomm.com> +Date: Tue, 5 Apr 2016 23:55:48 +0300 +Subject: [PATCH] Reject SET commands with newline characters in the string + values + +Many of the global configuration parameters are written as strings +without filtering and if there is an embedded newline character in the +value, unexpected configuration file data might be written. + +This fixes an issue where wpa_supplicant could have updated the +configuration file global parameter with arbitrary data from the control +interface or D-Bus interface. While those interfaces are supposed to be +accessible only for trusted users/applications, it may be possible that +an untrusted user has access to a management software component that +does not validate the value of a parameter before passing it to +wpa_supplicant. + +This could allow such an untrusted user to inject almost arbitrary data +into the configuration file. Such configuration file could result in +wpa_supplicant trying to load a library (e.g., opensc_engine_path, +pkcs11_engine_path, pkcs11_module_path, load_dynamic_eap) from user +controlled location when starting again. This would allow code from that +library to be executed under the wpa_supplicant process privileges. + +Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com> +Signed-off-by: Baruch Siach <baruch@tkos.co.il> +--- +Patch status: upstream (2a3f56502b52375c3bf113cf92adfa99bad6b488) + + wpa_supplicant/config.c | 6 ++++++ + 1 file changed, 6 insertions(+) + +diff --git a/wpa_supplicant/config.c b/wpa_supplicant/config.c +index 69152efdea1a..d9a1603f6d7e 100644 +--- a/wpa_supplicant/config.c ++++ b/wpa_supplicant/config.c +@@ -3764,6 +3764,12 @@ static int wpa_global_config_parse_str(const struct global_parse_data *data, + return -1; + } + ++ if (has_newline(pos)) { ++ wpa_printf(MSG_ERROR, "Line %d: invalid %s value with newline", ++ line, data->name); ++ return -1; ++ } ++ + tmp = os_strdup(pos); + if (tmp == NULL) + return -1; +-- +2.8.1 + |