* [PATCH] tools/hv/hv_kvp_daemon.c: Netlink source address validation allows DoS [not found] <456703059.7446523.1352215033661.JavaMail.root@redhat.com> @ 2012-11-06 15:21 ` Tomas Hozza 2012-11-06 15:30 ` KY Srinivasan 0 siblings, 1 reply; 4+ messages in thread From: Tomas Hozza @ 2012-11-06 15:21 UTC (permalink / raw) To: gregkh, linux-kernel, devel, apw, jasowang; +Cc: Olaf Hering, KY Srinivasan [-- Attachment #1: Type: text/plain, Size: 520 bytes --] Hi. After discussion with KY Srinivasan and Olaf Hering I'm sending you a patch for the HyperV KVP daemon distributed in linux kernel "tools/hv/hv_kvp_daemon.c". There is an issue in the current daemon source causing hyperv kvp daemon to exit when it processes a spoofed Netlink packet which has been sent from an untrusted local user. This patch is fixing this, so now the Netlink messages with a non-zero nl_pid source address are just ignored. Regards, Tomas Hozza Associate Software Engineer BaseOS - Brno, CZ [-- Warning: decoded text below may be mangled, UTF-8 assumed --] [-- Attachment #2: 0001-Netlink-source-address-validation-allows-DoS.patch --] [-- Type: text/x-patch; name=0001-Netlink-source-address-validation-allows-DoS.patch, Size: 1329 bytes --] From 6199072f8131056efce208f04e6985d1f9968d8e Mon Sep 17 00:00:00 2001 From: Tomas Hozza <thozza@redhat.com> Date: Mon, 5 Nov 2012 10:08:16 +0100 Subject: [PATCH] Netlink source address validation allows DoS The source code without this patch caused hypervkvpd to exit when it processed a spoofed Netlink packet which has been sent from an untrusted local user. Netlink messages with a non-zero nl_pid source address should just be ignored. --- tools/hv/hv_kvp_daemon.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/tools/hv/hv_kvp_daemon.c b/tools/hv/hv_kvp_daemon.c index 3ea3af2..7d74497 100755 --- a/tools/hv/hv_kvp_daemon.c +++ b/tools/hv/hv_kvp_daemon.c @@ -1478,13 +1478,19 @@ int main(void) len = recvfrom(fd, kvp_recv_buffer, sizeof(kvp_recv_buffer), 0, addr_p, &addr_l); - if (len < 0 || addr.nl_pid) { + if (len < 0) { syslog(LOG_ERR, "recvfrom failed; pid:%u error:%d %s", addr.nl_pid, errno, strerror(errno)); close(fd); return -1; } + if (addr.nl_pid) { + syslog(LOG_WARNING, "Received packet from untrusted pid:%u", + addr.nl_pid); + continue; + } + incoming_msg = (struct nlmsghdr *)kvp_recv_buffer; incoming_cn_msg = (struct cn_msg *)NLMSG_DATA(incoming_msg); hv_msg = (struct hv_kvp_msg *)incoming_cn_msg->data; -- 1.7.11.7 ^ permalink raw reply related [flat|nested] 4+ messages in thread
* RE: [PATCH] tools/hv/hv_kvp_daemon.c: Netlink source address validation allows DoS 2012-11-06 15:21 ` [PATCH] tools/hv/hv_kvp_daemon.c: Netlink source address validation allows DoS Tomas Hozza @ 2012-11-06 15:30 ` KY Srinivasan 2012-11-06 19:54 ` Tomas Hozza 0 siblings, 1 reply; 4+ messages in thread From: KY Srinivasan @ 2012-11-06 15:30 UTC (permalink / raw) To: Tomas Hozza, gregkh@linuxfoundation.org, linux-kernel@vger.kernel.org, devel@linuxdriverproject.org, apw@canonical.com, jasowang@redhat.com Cc: Olaf Hering [-- Warning: decoded text below may be mangled, UTF-8 assumed --] [-- Attachment #1: Type: text/plain; charset="utf-8", Size: 1215 bytes --] > -----Original Message----- > From: Tomas Hozza [mailto:thozza@redhat.com] > Sent: Tuesday, November 06, 2012 10:21 AM > To: gregkh@linuxfoundation.org; linux-kernel@vger.kernel.org; > devel@linuxdriverproject.org; apw@canonical.com; jasowang@redhat.com > Cc: Olaf Hering; KY Srinivasan > Subject: [PATCH] tools/hv/hv_kvp_daemon.c: Netlink source address validation > allows DoS > > Hi. > > After discussion with KY Srinivasan and Olaf Hering I'm sending you > a patch for the HyperV KVP daemon distributed in linux kernel > "tools/hv/hv_kvp_daemon.c". > > There is an issue in the current daemon source causing hyperv kvp daemon > to exit when it processes a spoofed Netlink packet which has been sent > from an untrusted local user. > > This patch is fixing this, so now the Netlink messages with a non-zero > nl_pid source address are just ignored. You don't want to send the patch as an attachment. Please send the patch as part of the mail. Regards, K. Y > > > Regards, > > Tomas Hozza > Associate Software Engineer > BaseOS - Brno, CZ ÿôèº{.nÇ+·®+%Ëÿ±éݶ\x17¥wÿº{.nÇ+·¥{±þG«éÿ{ayº\x1dÊÚë,j\a¢f£¢·hïêÿêçz_è®\x03(éÝ¢j"ú\x1a¶^[m§ÿÿ¾\a«þG«éÿ¢¸?¨èÚ&£ø§~á¶iOæ¬z·vØ^\x14\x04\x1a¶^[m§ÿÿÃ\fÿ¶ìÿ¢¸?I¥ ^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH] tools/hv/hv_kvp_daemon.c: Netlink source address validation allows DoS 2012-11-06 15:30 ` KY Srinivasan @ 2012-11-06 19:54 ` Tomas Hozza 2012-11-06 19:58 ` KY Srinivasan 0 siblings, 1 reply; 4+ messages in thread From: Tomas Hozza @ 2012-11-06 19:54 UTC (permalink / raw) To: KY Srinivasan; +Cc: Olaf Hering, gregkh, linux-kernel, devel, apw, jasowang >From 6199072f8131056efce208f04e6985d1f9968d8e Mon Sep 17 00:00:00 2001 From: Tomas Hozza <thozza@redhat.com> Date: Mon, 5 Nov 2012 10:08:16 +0100 Subject: [PATCH] Netlink source address validation allows DoS The source code without this patch caused hypervkvpd to exit when it processed a spoofed Netlink packet which has been sent from an untrusted local user. Netlink messages with a non-zero nl_pid source address should just be ignored. --- tools/hv/hv_kvp_daemon.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/tools/hv/hv_kvp_daemon.c b/tools/hv/hv_kvp_daemon.c index 3ea3af2..7d74497 100755 --- a/tools/hv/hv_kvp_daemon.c +++ b/tools/hv/hv_kvp_daemon.c @@ -1478,13 +1478,19 @@ int main(void) len = recvfrom(fd, kvp_recv_buffer, sizeof(kvp_recv_buffer), 0, addr_p, &addr_l); - if (len < 0 || addr.nl_pid) { + if (len < 0) { syslog(LOG_ERR, "recvfrom failed; pid:%u error:%d %s", addr.nl_pid, errno, strerror(errno)); close(fd); return -1; } + if (addr.nl_pid) { + syslog(LOG_WARNING, "Received packet from untrusted pid:%u", + addr.nl_pid); + continue; + } + incoming_msg = (struct nlmsghdr *)kvp_recv_buffer; incoming_cn_msg = (struct cn_msg *)NLMSG_DATA(incoming_msg); hv_msg = (struct hv_kvp_msg *)incoming_cn_msg->data; -- 1.7.11.7 ----- Original Message ----- > > > > -----Original Message----- > > From: Tomas Hozza [mailto:thozza@redhat.com] > > Sent: Tuesday, November 06, 2012 10:21 AM > > To: gregkh@linuxfoundation.org; linux-kernel@vger.kernel.org; > > devel@linuxdriverproject.org; apw@canonical.com; > > jasowang@redhat.com > > Cc: Olaf Hering; KY Srinivasan > > Subject: [PATCH] tools/hv/hv_kvp_daemon.c: Netlink source address > > validation > > allows DoS > > > > Hi. > > > > After discussion with KY Srinivasan and Olaf Hering I'm sending you > > a patch for the HyperV KVP daemon distributed in linux kernel > > "tools/hv/hv_kvp_daemon.c". > > > > There is an issue in the current daemon source causing hyperv kvp > > daemon > > to exit when it processes a spoofed Netlink packet which has been > > sent > > from an untrusted local user. > > > > This patch is fixing this, so now the Netlink messages with a > > non-zero > > nl_pid source address are just ignored. > > You don't want to send the patch as an attachment. Please send the > patch > as part of the mail. > > Regards, > > K. Y > > > > > > Regards, > > > > Tomas Hozza > > Associate Software Engineer > > BaseOS - Brno, CZ > ^ permalink raw reply related [flat|nested] 4+ messages in thread
* RE: [PATCH] tools/hv/hv_kvp_daemon.c: Netlink source address validation allows DoS 2012-11-06 19:54 ` Tomas Hozza @ 2012-11-06 19:58 ` KY Srinivasan 0 siblings, 0 replies; 4+ messages in thread From: KY Srinivasan @ 2012-11-06 19:58 UTC (permalink / raw) To: Tomas Hozza Cc: Olaf Hering, gregkh@linuxfoundation.org, linux-kernel@vger.kernel.org, devel@linuxdriverproject.org, apw@canonical.com, jasowang@redhat.com [-- Warning: decoded text below may be mangled, UTF-8 assumed --] [-- Attachment #1: Type: text/plain; charset="utf-8", Size: 3339 bytes --] > -----Original Message----- > From: Tomas Hozza [mailto:thozza@redhat.com] > Sent: Tuesday, November 06, 2012 2:55 PM > To: KY Srinivasan > Cc: Olaf Hering; gregkh@linuxfoundation.org; linux-kernel@vger.kernel.org; > devel@linuxdriverproject.org; apw@canonical.com; jasowang@redhat.com > Subject: Re: [PATCH] tools/hv/hv_kvp_daemon.c: Netlink source address > validation allows DoS > > From 6199072f8131056efce208f04e6985d1f9968d8e Mon Sep 17 00:00:00 2001 > From: Tomas Hozza <thozza@redhat.com> > Date: Mon, 5 Nov 2012 10:08:16 +0100 > Subject: [PATCH] Netlink source address validation allows DoS > > The source code without this patch caused hypervkvpd to exit when it processed > a spoofed Netlink packet which has been sent from an untrusted local user. > Netlink messages with a non-zero nl_pid source address should just be ignored. Thomas, You need a Signed-off-by line. Please refer to the documentation on how to submit a patch. Regards, K. Y > --- > tools/hv/hv_kvp_daemon.c | 8 +++++++- > 1 file changed, 7 insertions(+), 1 deletion(-) > > diff --git a/tools/hv/hv_kvp_daemon.c b/tools/hv/hv_kvp_daemon.c > index 3ea3af2..7d74497 100755 > --- a/tools/hv/hv_kvp_daemon.c > +++ b/tools/hv/hv_kvp_daemon.c > @@ -1478,13 +1478,19 @@ int main(void) > len = recvfrom(fd, kvp_recv_buffer, sizeof(kvp_recv_buffer), 0, > addr_p, &addr_l); > > - if (len < 0 || addr.nl_pid) { > + if (len < 0) { > syslog(LOG_ERR, "recvfrom failed; pid:%u error:%d %s", > addr.nl_pid, errno, strerror(errno)); > close(fd); > return -1; > } > > + if (addr.nl_pid) { > + syslog(LOG_WARNING, "Received packet from untrusted > pid:%u", > + addr.nl_pid); > + continue; > + } > + > incoming_msg = (struct nlmsghdr *)kvp_recv_buffer; > incoming_cn_msg = (struct cn_msg > *)NLMSG_DATA(incoming_msg); > hv_msg = (struct hv_kvp_msg *)incoming_cn_msg->data; > -- > 1.7.11.7 > > ----- Original Message ----- > > > > > > > -----Original Message----- > > > From: Tomas Hozza [mailto:thozza@redhat.com] > > > Sent: Tuesday, November 06, 2012 10:21 AM > > > To: gregkh@linuxfoundation.org; linux-kernel@vger.kernel.org; > > > devel@linuxdriverproject.org; apw@canonical.com; > > > jasowang@redhat.com > > > Cc: Olaf Hering; KY Srinivasan > > > Subject: [PATCH] tools/hv/hv_kvp_daemon.c: Netlink source address > > > validation > > > allows DoS > > > > > > Hi. > > > > > > After discussion with KY Srinivasan and Olaf Hering I'm sending you > > > a patch for the HyperV KVP daemon distributed in linux kernel > > > "tools/hv/hv_kvp_daemon.c". > > > > > > There is an issue in the current daemon source causing hyperv kvp > > > daemon > > > to exit when it processes a spoofed Netlink packet which has been > > > sent > > > from an untrusted local user. > > > > > > This patch is fixing this, so now the Netlink messages with a > > > non-zero > > > nl_pid source address are just ignored. > > > > You don't want to send the patch as an attachment. Please send the > > patch > > as part of the mail. > > > > Regards, > > > > K. Y > > > > > > > > > Regards, > > > > > > Tomas Hozza > > > Associate Software Engineer > > > BaseOS - Brno, CZ > > > ÿôèº{.nÇ+·®+%Ëÿ±éݶ\x17¥wÿº{.nÇ+·¥{±þG«éÿ{ayº\x1dÊÚë,j\a¢f£¢·hïêÿêçz_è®\x03(éÝ¢j"ú\x1a¶^[m§ÿÿ¾\a«þG«éÿ¢¸?¨èÚ&£ø§~á¶iOæ¬z·vØ^\x14\x04\x1a¶^[m§ÿÿÃ\fÿ¶ìÿ¢¸?I¥ ^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2012-11-06 20:01 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <456703059.7446523.1352215033661.JavaMail.root@redhat.com>
2012-11-06 15:21 ` [PATCH] tools/hv/hv_kvp_daemon.c: Netlink source address validation allows DoS Tomas Hozza
2012-11-06 15:30 ` KY Srinivasan
2012-11-06 19:54 ` Tomas Hozza
2012-11-06 19:58 ` KY Srinivasan
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.