---
id: CVE-2026-80755
title: 'selinux: reject a permission value exceeding the class permission count'
summary: |-
  In the Linux kernel, the following vulnerability has been resolved:

  selinux: reject a permission value exceeding the class permission count

  perm_read() bounds a permission value by SEL_VEC_MAX but never by the
  nprim of the owning class…
severity: none
vendor: Linux
product: Linux
affected:
  - >-
    Linux >= 55fcf09b3fe4325c9395ebbb0322a547a157ebc7 <
    9a1bd9fd1326655dfc31b18ca92ea8433cb31204
  - >-
    Linux >= 55fcf09b3fe4325c9395ebbb0322a547a157ebc7 <
    6c2ab7c4549f4f2305848df834e784651dbf1676
  - >-
    Linux >= 55fcf09b3fe4325c9395ebbb0322a547a157ebc7 <
    dfc59a062c386d3d4415ecdab781065a645f33cc
  - >-
    Linux >= 55fcf09b3fe4325c9395ebbb0322a547a157ebc7 <
    a7f3d4f22d920dc3c7d75f02ece0f7bf2c58437e
  - >-
    Linux >= 55fcf09b3fe4325c9395ebbb0322a547a157ebc7 <
    d14b5d0e97fccd27974fedc03b903408872907fd
  - Linux 2.6.23
published: '2026-09-03'
updated: '2026-10-21'
sourceUpdated: '2026-10-21T12:47:03.897Z'
source: CVEORG
sourceUrl: 'https://www.cve.org/CVERecord?id=CVE-2026-80755'
references:
  - url: 'https://git.kernel.org/stable/c/9a1bd9fd1326655dfc31b18ca92ea8433cb31204'
  - url: 'https://git.kernel.org/stable/c/6c2ab7c4549f4f2305848df834e784651dbf1676'
  - url: 'https://git.kernel.org/stable/c/dfc59a062c386d3d4415ecdab781065a645f33cc'
  - url: 'https://git.kernel.org/stable/c/a7f3d4f22d920dc3c7d75f02ece0f7bf2c58437e'
  - url: 'https://git.kernel.org/stable/c/d14b5d0e97fccd27974fedc03b903408872907fd'
tags:
  - cve.org
epss: 0.00156
epssPercentile: 0.04376
ingestedAt: '2026-10-21T12:48:53.749Z'
---

## Overview

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

selinux: reject a permission value exceeding the class permission count

perm_read() bounds a permission value by SEL_VEC_MAX but never by the
nprim of the owning class or common, which is taken verbatim from the
policy image.  security_get_permissions() then writes perms[value - 1]
into an nprim-sized kcalloc() array, so a class declaring fewer
permissions than its largest permission value drives an out-of-bounds
heap write.  The top-level symbol tables are validated this way; the
nested per-class permission table is not.

Reject a permission whose value exceeds nprim, which is already set when
perm_read() runs.  Well-formed policies are unaffected.

[PM: tweak comment for line length]

## Affected

- `Linux >= 55fcf09b3fe4325c9395ebbb0322a547a157ebc7 < 9a1bd9fd1326655dfc31b18ca92ea8433cb31204`
- `Linux >= 55fcf09b3fe4325c9395ebbb0322a547a157ebc7 < 6c2ab7c4549f4f2305848df834e784651dbf1676`
- `Linux >= 55fcf09b3fe4325c9395ebbb0322a547a157ebc7 < dfc59a062c386d3d4415ecdab781065a645f33cc`
- `Linux >= 55fcf09b3fe4325c9395ebbb0322a547a157ebc7 < a7f3d4f22d920dc3c7d75f02ece0f7bf2c58437e`
- `Linux >= 55fcf09b3fe4325c9395ebbb0322a547a157ebc7 < d14b5d0e97fccd27974fedc03b903408872907fd`
- `Linux 2.6.23`

## Remediation

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