---
id: CVE-2026-31430
title: 'X.509: Fix out-of-bounds access when parsing extensions'
summary: |-
  In the Linux kernel, the following vulnerability has been resolved:

  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 extens…
severity: none
vendor: Linux
product: Linux
affected:
  - >-
    Linux >= 30eae2b037af54b24109dcaea21db46f6285c69b <
    672b526def1f94c1be8eb11b885b803da0d8c2f1
  - >-
    Linux >= 30eae2b037af54b24109dcaea21db46f6285c69b <
    30ab358fad0c7daa1d282ec48089901b21b36a20
  - >-
    Linux >= 30eae2b037af54b24109dcaea21db46f6285c69b <
    206121294b9cf27f0589857f80d64f87e496ffb2
  - >-
    Linux >= 30eae2b037af54b24109dcaea21db46f6285c69b <
    7fb4dadc2734f4020d7543d688b8d49c8e569c61
  - >-
    Linux >= 30eae2b037af54b24109dcaea21db46f6285c69b <
    d702c3408213bb12bd570bb97204d8340d141c51
  - Linux 6.4
ssvc:
  exploitation: none
  automatable: 'no'
  technicalImpact: partial
  timestamp: '2026-11-05T21:33:17.626024Z'
published: '2026-04-20'
updated: '2026-11-05'
sourceUpdated: '2026-11-05T21:33:51.383Z'
source: CVEORG
sourceUrl: 'https://www.cve.org/CVERecord?id=CVE-2026-31430'
references:
  - url: 'https://git.kernel.org/stable/c/672b526def1f94c1be8eb11b885b803da0d8c2f1'
  - url: 'https://git.kernel.org/stable/c/30ab358fad0c7daa1d282ec48089901b21b36a20'
  - url: 'https://git.kernel.org/stable/c/206121294b9cf27f0589857f80d64f87e496ffb2'
  - url: 'https://git.kernel.org/stable/c/7fb4dadc2734f4020d7543d688b8d49c8e569c61'
  - url: 'https://git.kernel.org/stable/c/d702c3408213bb12bd570bb97204d8340d141c51'
tags:
  - cve.org
epss: 0.00081
epssPercentile: 0.00166
ingestedAt: '2026-11-05T22:38:32.137Z'
---

## Overview

In the Linux kernel, the following vulnerability has been resolved:

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.

## Affected

- `Linux >= 30eae2b037af54b24109dcaea21db46f6285c69b < 672b526def1f94c1be8eb11b885b803da0d8c2f1`
- `Linux >= 30eae2b037af54b24109dcaea21db46f6285c69b < 30ab358fad0c7daa1d282ec48089901b21b36a20`
- `Linux >= 30eae2b037af54b24109dcaea21db46f6285c69b < 206121294b9cf27f0589857f80d64f87e496ffb2`
- `Linux >= 30eae2b037af54b24109dcaea21db46f6285c69b < 7fb4dadc2734f4020d7543d688b8d49c8e569c61`
- `Linux >= 30eae2b037af54b24109dcaea21db46f6285c69b < d702c3408213bb12bd570bb97204d8340d141c51`
- `Linux 6.4`

## Remediation

Refer to the linked advisories for vendor-supplied fixes and affected version ranges.
