[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20250815215009.GA2041@quark>
Date: Fri, 15 Aug 2025 14:50:09 -0700
From: Eric Biggers <ebiggers@...nel.org>
To: Xin Long <lucien.xin@...il.com>
Cc: Jakub Kicinski <kuba@...nel.org>, Paolo Abeni <pabeni@...hat.com>,
linux-sctp@...r.kernel.org, netdev@...r.kernel.org,
Marcelo Ricardo Leitner <marcelo.leitner@...il.com>,
linux-crypto@...r.kernel.org
Subject: Re: [PATCH net-next v2 3/3] sctp: Convert cookie authentication to
use HMAC-SHA256
On Fri, Aug 15, 2025 at 05:19:27PM -0400, Xin Long wrote:
> On Fri, Aug 15, 2025 at 3:09 PM Jakub Kicinski <kuba@...nel.org> wrote:
> >
> > On Tue, 12 Aug 2025 21:01:21 -0700 Eric Biggers wrote:
> > > + if (net->sctp.cookie_auth_enable)
> > > + tbl.data = (char *)"sha256";
> > > + else
> > > + tbl.data = (char *)"none";
> > > + tbl.maxlen = strlen(tbl.data);
> > > + return proc_dostring(&tbl, 0, buffer, lenp, ppos);
> >
> > I wonder if someone out there expects to read back what they wrote,
> > but let us find out.
> I feel it's a bit weird to have:
>
> # sysctl net.sctp.cookie_hmac_alg="md5"
> net.sctp.cookie_hmac_alg = md5
> # sysctl net.sctp.cookie_hmac_alg
> net.sctp.cookie_hmac_alg = sha256
>
> This patch deprecates md5 and sha1 use there.
> So generally, for situations like this, should we also issue a
> warning, or just fail it?
>
> Paolo, what do you think?
>
> >
> > It'd be great to get an ack / review from SCTP maintainers, otherwise
> > we'll apply by Monday..
> Other than that, LGTM.
> Sorry for the late reply, I was running some SCTP-auth related tests
> against the patchset.
Ideally we'd just fail the write and remove the last mentions of md5 and
sha1 from the code. But I'm concerned there could be a case where
userspace is enabling cookie authentication by setting
cookie_hmac_alg=md5 or cookie_hmac_alg=sha1, and by just failing the
write the system would end up with cookie authentication not enabled.
It would have been nice if this sysctl had just been a boolean toggle.
A deprecation warning might be a good idea. How about the following on
top of this patch:
diff --git a/net/sctp/sysctl.c b/net/sctp/sysctl.c
index 19acc57c3ed97..72af4a843ae52 100644
--- a/net/sctp/sysctl.c
+++ b/net/sctp/sysctl.c
@@ -399,20 +399,28 @@ static int proc_sctp_do_hmac_alg(const struct ctl_table *ctl, int write,
tbl.data = tmp;
tbl.maxlen = sizeof(tmp) - 1;
ret = proc_dostring(&tbl, 1, buffer, lenp, ppos);
if (ret)
return ret;
- if (!strcmp(tmp, "sha256") ||
- /* for backwards compatibility */
- !strcmp(tmp, "md5") || !strcmp(tmp, "sha1")) {
+ if (!strcmp(tmp, "sha256")) {
net->sctp.cookie_auth_enable = 1;
return 0;
}
if (!strcmp(tmp, "none")) {
net->sctp.cookie_auth_enable = 0;
return 0;
}
+ /*
+ * Accept md5 and sha1 for backwards compatibility, but treat
+ * them simply as requests to enable cookie authentication.
+ */
+ if (!strcmp(tmp, "md5") || !strcmp(tmp, "sha1")) {
+ pr_warn_once("net.sctp.cookie_hmac_alg=%s is deprecated. Use net.sctp.cookie_hmac_alg=sha256\n",
+ tmp);
+ net->sctp.cookie_auth_enable = 1;
+ return 0;
+ }
return -EINVAL;
}
if (net->sctp.cookie_auth_enable)
tbl.data = (char *)"sha256";
else
Powered by blists - more mailing lists