This is a note to let you know that I've just added the patch titled net: sctp: check proc_dointvec result in proc_sctp_do_auth to the 3.14-stable tree which can be found at: http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary The filename of the patch is: net-sctp-check-proc_dointvec-result-in-proc_sctp_do_auth.patch and it can be found in the queue-3.14 subdirectory. If you, or anyone else, feels it should not be added to the stable tree, please let <stable@xxxxxxxxxxxxxxx> know about it. >From foo@baz Sat Jul 26 10:08:04 PDT 2014 From: Daniel Borkmann <dborkman@xxxxxxxxxx> Date: Wed, 18 Jun 2014 23:46:31 +0200 Subject: net: sctp: check proc_dointvec result in proc_sctp_do_auth From: Daniel Borkmann <dborkman@xxxxxxxxxx> [ Upstream commit 24599e61b7552673dd85971cf5a35369cd8c119e ] When writing to the sysctl field net.sctp.auth_enable, it can well be that the user buffer we handed over to proc_dointvec() via proc_sctp_do_auth() handler contains something other than integers. In that case, we would set an uninitialized 4-byte value from the stack to net->sctp.auth_enable that can be leaked back when reading the sysctl variable, and it can unintentionally turn auth_enable on/off based on the stack content since auth_enable is interpreted as a boolean. Fix it up by making sure proc_dointvec() returned sucessfully. Fixes: b14878ccb7fa ("net: sctp: cache auth_enable per endpoint") Reported-by: Florian Westphal <fwestpha@xxxxxxxxxx> Signed-off-by: Daniel Borkmann <dborkman@xxxxxxxxxx> Acked-by: Neil Horman <nhorman@xxxxxxxxxxxxx> Acked-by: Vlad Yasevich <vyasevich@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> --- net/sctp/sysctl.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) --- a/net/sctp/sysctl.c +++ b/net/sctp/sysctl.c @@ -423,8 +423,7 @@ static int proc_sctp_do_auth(struct ctl_ tbl.data = &net->sctp.auth_enable; ret = proc_dointvec(&tbl, write, buffer, lenp, ppos); - - if (write) { + if (write && ret == 0) { struct sock *sk = net->sctp.ctl_sock; net->sctp.auth_enable = new_value; Patches currently in stable-queue which might be from dborkman@xxxxxxxxxx are queue-3.14/net-sctp-fix-information-leaks-in-ulpevent-layer.patch queue-3.14/net-sctp-propagate-sysctl-errors-from-proc_do-properly.patch queue-3.14/net-sctp-check-proc_dointvec-result-in-proc_sctp_do_auth.patch -- To unsubscribe from this list: send the line "unsubscribe stable" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html