All of lore.kernel.org
 help / color / mirror / Atom feed
From: Pablo Neira Ayuso <pablo@netfilter.org>
To: Li hongliang <1468888505@139.com>
Cc: gregkh@linuxfoundation.org, stable@vger.kernel.org, fw@strlen.de,
	patches@lists.linux.dev, linux-kernel@vger.kernel.org,
	kadlec@netfilter.org, davem@davemloft.net, edumazet@google.com,
	kuba@kernel.org, pabeni@redhat.com, horms@kernel.org,
	kaber@trash.net, netfilter-devel@vger.kernel.org,
	coreteam@netfilter.org, netdev@vger.kernel.org,
	imv4bel@gmail.com
Subject: Re: [PATCH 6.12.y] netfilter: conntrack: add missing netlink policy validations
Date: Mon, 13 Apr 2026 11:47:13 +0200	[thread overview]
Message-ID: <ady7oZdDQ5OfQILP@chamomile> (raw)
In-Reply-To: <20260413073105.2990210-1-1468888505@139.com>

Why only 6.12?

On Mon, Apr 13, 2026 at 03:31:05PM +0800, Li hongliang wrote:
> From: Florian Westphal <fw@strlen.de>
> 
> [ Upstream commit f900e1d77ee0ef87bfb5ab3fe60f0b3d8ad5ba05 ]
> 
> Hyunwoo Kim reports out-of-bounds access in sctp and ctnetlink.
> 
> These attributes are used by the kernel without any validation.
> Extend the netlink policies accordingly.
> 
> Quoting the reporter:
>   nlattr_to_sctp() assigns the user-supplied CTA_PROTOINFO_SCTP_STATE
>   value directly to ct->proto.sctp.state without checking that it is
>   within the valid range. [..]
> 
>   and: ... with exp->dir = 100, the access at
>   ct->master->tuplehash[100] reads 5600 bytes past the start of a
>   320-byte nf_conn object, causing a slab-out-of-bounds read confirmed by
>   UBSAN.
> 
> Fixes: 076a0ca02644 ("netfilter: ctnetlink: add NAT support for expectations")
> Fixes: a258860e01b8 ("netfilter: ctnetlink: add full support for SCTP to ctnetlink")
> Reported-by: Hyunwoo Kim <imv4bel@gmail.com>
> Signed-off-by: Florian Westphal <fw@strlen.de>
> Signed-off-by: Li hongliang <1468888505@139.com>
> ---
>  net/netfilter/nf_conntrack_netlink.c    | 2 +-
>  net/netfilter/nf_conntrack_proto_sctp.c | 3 ++-
>  2 files changed, 3 insertions(+), 2 deletions(-)
> 
> diff --git a/net/netfilter/nf_conntrack_netlink.c b/net/netfilter/nf_conntrack_netlink.c
> index 323e147fe282..f51cdfba68fb 100644
> --- a/net/netfilter/nf_conntrack_netlink.c
> +++ b/net/netfilter/nf_conntrack_netlink.c
> @@ -3460,7 +3460,7 @@ ctnetlink_change_expect(struct nf_conntrack_expect *x,
>  
>  #if IS_ENABLED(CONFIG_NF_NAT)
>  static const struct nla_policy exp_nat_nla_policy[CTA_EXPECT_NAT_MAX+1] = {
> -	[CTA_EXPECT_NAT_DIR]	= { .type = NLA_U32 },
> +	[CTA_EXPECT_NAT_DIR]	= NLA_POLICY_MAX(NLA_BE32, IP_CT_DIR_REPLY),
>  	[CTA_EXPECT_NAT_TUPLE]	= { .type = NLA_NESTED },
>  };
>  #endif
> diff --git a/net/netfilter/nf_conntrack_proto_sctp.c b/net/netfilter/nf_conntrack_proto_sctp.c
> index 4cc97f971264..fabb2c1ca00a 100644
> --- a/net/netfilter/nf_conntrack_proto_sctp.c
> +++ b/net/netfilter/nf_conntrack_proto_sctp.c
> @@ -587,7 +587,8 @@ static int sctp_to_nlattr(struct sk_buff *skb, struct nlattr *nla,
>  }
>  
>  static const struct nla_policy sctp_nla_policy[CTA_PROTOINFO_SCTP_MAX+1] = {
> -	[CTA_PROTOINFO_SCTP_STATE]	    = { .type = NLA_U8 },
> +	[CTA_PROTOINFO_SCTP_STATE]	    = NLA_POLICY_MAX(NLA_U8,
> +							 SCTP_CONNTRACK_HEARTBEAT_SENT),
>  	[CTA_PROTOINFO_SCTP_VTAG_ORIGINAL]  = { .type = NLA_U32 },
>  	[CTA_PROTOINFO_SCTP_VTAG_REPLY]     = { .type = NLA_U32 },
>  };
> -- 
> 2.34.1
> 
> 

      reply	other threads:[~2026-04-13  9:47 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-04-13  7:31 [PATCH 6.12.y] netfilter: conntrack: add missing netlink policy validations Li hongliang
2026-04-13  9:47 ` Pablo Neira Ayuso [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=ady7oZdDQ5OfQILP@chamomile \
    --to=pablo@netfilter.org \
    --cc=1468888505@139.com \
    --cc=coreteam@netfilter.org \
    --cc=davem@davemloft.net \
    --cc=edumazet@google.com \
    --cc=fw@strlen.de \
    --cc=gregkh@linuxfoundation.org \
    --cc=horms@kernel.org \
    --cc=imv4bel@gmail.com \
    --cc=kaber@trash.net \
    --cc=kadlec@netfilter.org \
    --cc=kuba@kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=netdev@vger.kernel.org \
    --cc=netfilter-devel@vger.kernel.org \
    --cc=pabeni@redhat.com \
    --cc=patches@lists.linux.dev \
    --cc=stable@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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.