Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1319101

Re: [PATCH 1/1] netfilter: h323: avoid potential attack

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


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