CVE-2026-98222 PUBLISHED

KEYS: encrypted: fix integer overflow of datablob_len

Assigner: Linux
Reserved: 25.09.2026 Published: 06.10.2026 Updated: 06.10.2026

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

KEYS: encrypted: fix integer overflow of datablob_len

encrypted_key_alloc() stores datablob_len in a u16. It is computed from multiple string and payload lengths. If the result exceeds U16_MAX, the assignment truncates the allocation size. KASAN reports a 32760-byte slab-out-of-bounds write when __ekey_init() copies the master key description into the undersized buffer.

The total payload length stored in key->datalen is also a u16. Use check_add_overflow() to reject values that do not fit either destination, and use kzalloc_flex() for the flexible-array allocation.

Product Status

Vendor Linux
Product Linux
Versions Default: unaffected
  • affected from 7e70cb4978507cf31d76b90e4cfb4c28cad87f0c to 1e720f63dbafc093a8f5d519f05b67724993edd4 (excl.)
  • affected from 7e70cb4978507cf31d76b90e4cfb4c28cad87f0c to a1a98eca102b1cbbc37ff9eaa197ae4e6a3ea4b0 (excl.)
  • affected from 7e70cb4978507cf31d76b90e4cfb4c28cad87f0c to cca38f2102a4cd35eda8d48950df4817b4b24757 (excl.)
  • affected from 7e70cb4978507cf31d76b90e4cfb4c28cad87f0c to 8697c431e297eb0d0ab13dda6bc172b48a34f05c (excl.)
Vendor Linux
Product Linux
Versions Default: affected
  • Version 2.6.38 is affected
  • unaffected from 0 to 2.6.38 (excl.)
  • unaffected from 6.12.112 to 6.12.* (incl.)
  • unaffected from 6.18.54 to 6.18.* (incl.)
  • unaffected from 7.2.8 to 7.2.* (incl.)
  • unaffected from 7.3-rc4 to * (incl.)

References