Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1319101
| Path | csiph.com!news.mixmin.net!aioe.org!bofh.it!news.nic.it!robomod |
|---|---|
| From | Eric Dumazet <eric.dumazet@gmail.com> |
| Newsgroups | linux.kernel |
| Subject | Re: [PATCH 1/1] netfilter: h323: avoid potential attack |
| Date | Wed, 27 Jan 2016 17:00:04 +0100 |
| Message-ID | <qVAFK-5LQ-53@gated-at.bofh.it> (permalink) |
| References | <qVzJE-4Zj-3@gated-at.bofh.it> |
| Dkim-Signature | v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=message-id:subject:from:to:cc:date:in-reply-to:references :content-type:mime-version:content-transfer-encoding; bh=T7252OMJExlkFy/VKxTOjzE8aL3JQHrcohLUfz6tKcM=; b=qBb+rSXuHTOKnRCteeW0yTfZ65m4/kgR0BrDCRk/rgVrSQzJm0KFhdjOM4Uu0TF5Xn aeaT1YfCeKIB96HjCIAlH6jTFxNNV0rsvaiC9L8B/Qv5Ey9HqwyxA0l4qDXdVdKaXvqm gglIURSa7oMQf5wqGqY99VHlxCHSqWH7hGBYyOccelU7mpolYF6RKsKJwfvgctlLSmmJ lHYDlTv9xwXNxYcFYw1CHEaS1ufW3wMZwadg4KPSMSwEKYmm+fTYAvQix7Q3hIG80Nab 165hx6UXo1oa0P8/QR1X+uT9awgyp1Fr63Jal/Be8E4tDkQbwfyrZOPr0OhXvUsftSIW xi2g== |
| X-Google-Dkim-Signature | v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:message-id:subject:from:to:cc:date:in-reply-to :references:content-type:mime-version:content-transfer-encoding; bh=T7252OMJExlkFy/VKxTOjzE8aL3JQHrcohLUfz6tKcM=; b=REX3LH+HZUVoPxbt9LqcZqiAATlAIiQCFBpRsMpaYQqWeV/mgdyG28rdQw/53uK2A1 vL02Gl2J+XgubG2w3wRSlen84E3uKAUWSN+lTZJTd5RXal1XQnBHstJixC5RXsdIhBvL AK+ABG3Gqpv1xp4kqJ1sZwlPRHy3QBD1i+FhcDThF0iutUAvl+TLUeFeTfueiddAw4PD 5E90ftTolNptuGV5WSIMlMrDPiWcQW6lZLX+848mjoVBEphkqAN2qsVBlbl+3TWjoSSZ Z1AWsnmU+WGvX2kTqN1N7W+r33AV6B9uscVDgT2lS8Lz8pf48i++0DeJPvBcL05+sekx QGqA== |
| X-Gm-Message-State | AG10YOSC3dYQlQfAk3kg5eKNZo4gah6oeh2IDVIkuVj/uUptxCp8ZQgTxJp02U6vBHYaJw== |
| X-Received | by 10.98.80.135 with SMTP id g7mr43446199pfj.132.1453910265174; Wed, 27 Jan 2016 07:57:45 -0800 (PST) |
| Content-Type | text/plain; charset="UTF-8" |
| X-Mailer | Evolution 3.10.4-0ubuntu2 |
| MIME-Version | 1.0 |
| Content-Transfer-Encoding | 7bit |
| Sender | robomod@news.nic.it |
| List-ID | <linux-kernel.vger.kernel.org> |
| X-Mailing-List | linux-kernel@vger.kernel.org |
| Approved | robomod@news.nic.it |
| Lines | 43 |
| Organization | linux.* mail to news gateway |
| X-Original-Cc | pablo@netfilter.org, kaber@trash.net, kadlec@blackhole.kfki.hu, davem@davemloft.net, netfilter-devel@vger.kernel.org, coreteam@netfilter.org, netdev@vger.kernel.org, linux-kernel@vger.kernel.org, Zhouyi Zhou <yizhouzhou@ict.ac.cn> |
| X-Original-Date | Wed, 27 Jan 2016 07:57:43 -0800 |
| X-Original-Message-ID | <1453910263.20722.13.camel@edumazet-glaptop2.roam.corp.google.com> |
| X-Original-References | <1453905646-6446-1-git-send-email-zhouzhouyi@gmail.com> |
| X-Original-Sender | linux-kernel-owner@vger.kernel.org |
| Xref | csiph.com linux.kernel:1319101 |
Show key headers only | View raw
On Wed, 2016-01-27 at 22:40 +0800, Zhouyi Zhou wrote:
> From: Zhouyi Zhou <yizhouzhou@ict.ac.cn>
>
> I think hackers chould build a malicious h323 packet to overflow
> the pointer p which will panic during the memcpy(addr, p, len)
>
> For example, he may fabricate a very large taddr->ipAddress.ip;
>
> Signed-off-by: Zhouyi Zhou <zhouzhouyi@gmail.com>
> ---
> net/netfilter/nf_conntrack_h323_main.c | 8 ++++++++
> 1 file changed, 8 insertions(+)
>
> diff --git a/net/netfilter/nf_conntrack_h323_main.c b/net/netfilter/nf_conntrack_h323_main.c
> index 9511af0..3b3dd8c 100644
> --- a/net/netfilter/nf_conntrack_h323_main.c
> +++ b/net/netfilter/nf_conntrack_h323_main.c
> @@ -110,6 +110,10 @@ int (*nat_q931_hook) (struct sk_buff *skb,
>
> static DEFINE_SPINLOCK(nf_h323_lock);
> static char *h323_buffer;
> +#define CHECK_BOUND(p, n) do { \
> + if (((p - h323_buffer) + n) > 65536) \
> + return 0; \
> +} while (0)
>
Do not add 'return X;' or 'goto something;' in macros please.
Even referring to 'h323_buffer' is not nice, and of course 65536 is
another 'magic' value.
Even if h323_buffer was allocated to hold 65536 bytes, the various
skb_header_pointer() calls only populated a part of it.
I understand there is a bad precedent in
net/netfilter/nf_conntrack_h323_asn1.c, but it is not a good reason.
Anyway, if the issue is real, you do not take into account the 2 extra
bytes for the port.
memcpy(port, p + len, sizeof(__be16));
Back to linux.kernel | Previous | Next — Previous in thread | Find similar | Unroll thread
[PATCH 1/1] netfilter: h323: avoid potential attack Zhouyi Zhou <zhouzhouyi@gmail.com> - 2016-01-27 16:00 +0100 Re: [PATCH 1/1] netfilter: h323: avoid potential attack kbuild test robot <lkp@intel.com> - 2016-01-27 16:10 +0100 Re: [PATCH 1/1] netfilter: h323: avoid potential attack Eric Dumazet <eric.dumazet@gmail.com> - 2016-01-27 17:00 +0100
csiph-web