]> git.ipfire.org Git - thirdparty/kernel/linux.git/commit
X.509: Fix out-of-bounds access when parsing extensions
authorLukas Wunner <lukas@wunner.de>
Tue, 7 Apr 2026 10:58:18 +0000 (12:58 +0200)
committerHerbert Xu <herbert@gondor.apana.org.au>
Sun, 12 Apr 2026 05:38:19 +0000 (13:38 +0800)
commitd702c3408213bb12bd570bb97204d8340d141c51
tree9a18534c1e1ff8193ee49be0612a78066a1525f1
parent31d00156e50ecad37f2cb6cbf04aaa9a260505ef
X.509: Fix out-of-bounds access when parsing extensions

Leo reports an out-of-bounds access when parsing a certificate with
empty Basic Constraints or Key Usage extension because the first byte of
the extension is read before checking its length.  Fix it.

The bug can be triggered by an unprivileged user by submitting a
specially crafted certificate to the kernel through the keyrings(7) API.
Leo has demonstrated this with a proof-of-concept program responsibly
disclosed off-list.

Fixes: 30eae2b037af ("KEYS: X.509: Parse Basic Constraints for CA")
Fixes: 567671281a75 ("KEYS: X.509: Parse Key Usage")
Reported-by: Leo Lin <leo@depthfirst.com> # off-list
Signed-off-by: Lukas Wunner <lukas@wunner.de>
Reviewed-by: Ignat Korchagin <ignat@linux.win>
Cc: stable@vger.kernel.org # v6.4+
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
crypto/asymmetric_keys/x509_cert_parser.c